BSD-3-Clause licensed and maintained by Ziyang Liu
This version can be pinned in stack with:multi-containers-0.2@sha256:7891f7d7c0fa4a97a6884323c175594d0711bfe8e81dca31b6f25e722764e3cd,1893
Depends on 2 packages(full list with versions):


A library that provides three multimap variants:

  • Multimap k a, a multimap where values of each key form a list.
  • SetMultimap k a, a multimap where values of each key form a set.
  • Table r c a, a two dimensional table where values are indexed by row keys and column keys; it is essentially a multimap where values of each key form a map.

For Multimap and SetMultimap, there’s always at least one value associated with each key in the multimap. Upon removing the last value of a key, the key itself is removed from the multimap.

For Table, similarly, each row key in a table always has at least one value. So does each column key.


Changelog for multi-containers


  • Add Internal modules that export data constructors
  • Add conversion functions between Multimap and SetMultimap


  • Add min/max functions for Data.Multimap and Data.Multimap.Set.

  • Remove redundant constraints

  • Update README

  • Initial release