I've started working on a BiMap, a map where (key, value) is also (value, key) in a one-to-one relationship.
https://github.com/c-cube/ocaml-containers/compare/master...orbifx:bimap As I'm writing this I have written `empty`, `add`, `find_left` and `find_right`. The idea is that when adding a left-key, right-value to the BiMap, it doesn't just check for the preexistence of the left key, but also checks if the right value already has a left key and removes it if so. Vice versa for right key, left value. Please provide any comments and thoughts. One question I have is why are map values first in the order of parameters? For example: https://github.com/c-cube/ocaml-containers/blob/master/src/data/CCMultiMap.ml#L294 -- SP _______________________________________________ Containers-users mailing list Containers-users@lists.ocaml.org http://lists.ocaml.org/listinfo/containers-users