| 365 | | |
| 366 | | <K,V> $seq<$pair<K,V>> $map_seq( $map<K,V> m ); // key value pairs of m arranged in a sequence |
| 367 | | |
| 368 | | <K,V> $map<K,V> $map_add( $map<K,V> m, K k, V v ); // result of (re)defining k to map to v. |
| 369 | | <K,V> $map<K,V> $map_add( $map<K,V> m, $set<$pair<K,V>> kvs); // result of (re)defining k to map to v for every pair (k,v) in kvs |
| 370 | | |
| | 365 | <K,V> $set<$pair<K,V>> $map_entries( $map<K,V> m ); // key value pairs of m arranged in a sequence |
| | 366 | <K,V> $map<K,V> $map_put( $map<K,V> m, K k, V v ); // result of (re)defining k to map to v. |
| | 367 | <K,V> $map<K,V> $map_putAll( $map<K,V> m1, $map<K,V> m2); // result of (re)defining k to map to v for every pair (k,v) in m2 |
| 375 | | <K,V> V $map_get( $map<K,V> m, K k ); // get the value defined at k. Should check $map_contains first (what do we do when k is not defined?) |
| 376 | | |
| 377 | | <K,V> $bool $map_injective( $map<K,V> m ); // does m form an injection? |
| 378 | | <K,V> $map<V,K> $map_inverse( $map<K,V> m ); // returns the inverse map of m. Should check $map_injective first (what do we do when m is not injective?) |
| 379 | | |
| 380 | | <K,I,V> $map<K,V> $map_compose( $map<I,V> m2, $map<K,I> m1 ); // returns the composition m2.m1 |
| | 371 | <K,V> V $map_get( $map<K,V> m, K k ); // get the value defined at k (returns something if no k in domain) |
| | 372 | ? <K,V> $bool $map_injective( $map<K,V> m ); // does m form an injection? |
| | 373 | ? <K,V> $map<V,K> $map_inverse( $map<K,V> m ); // returns the inverse map of m. Should check $map_injective first (what do we do when m is not injective?) |
| | 374 | ? <K,I,V> $map<K,V> $map_compose( $map<I,V> m2, $map<K,I> m1 ); // returns the composition m2.m1 |