# Bimap (bi-directional map) implementation

**URL:** <https://discuss.ocaml.org/t/bimap-bi-directional-map-implementation/3776>\
**Category:** Ecosystem\
**Tags:** datastructures, library, announce\
**Created:** [May 9, 2019, 3:21am UTC](https://discuss.ocaml.org/t/bimap-bi-directional-map-implementation/3776 "2019-05-09T03:21:22Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![papatango](https://avatars.discourse-cdn.com/v4/letter/p/b782af/32.png) [@papatango](https://discuss.ocaml.org/u/papatango)\
**Post date:** [May 9, 2019, 3:21am UTC](https://discuss.ocaml.org/t/bimap-bi-directional-map-implementation/3776/1 "2019-05-09T03:21:22Z")

</div>

An implementation of a bimap, a map that is bi-directional and which any client code can use to look up keys if given values as well as traditional lookup of values given keys. Implemented using functors as a class and a module, with support for multi-maps as well as well as single-valued maps. Master branch uses Core. A no-core branch is a work-in-progress and needs re-writing. OUnit testing also implemented.

> **[pat227/bimap](https://github.com/pat227/bimap)**
>
> Contribute to pat227/bimap development by creating an account on GitHub.

---

_[View the full topic](https://discuss.ocaml.org/t/bimap-bi-directional-map-implementation/3776)._
