multi-containers: A few multimap variants.

[ bsd3, data-structures, library ] [ Propose Tags ]

A library that provides a few multimap variants.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,, 0.1.1, 0.2
Change log
Dependencies base (>=4.7 && <5), containers (>= && <0.7) [details]
License BSD-3-Clause
Copyright 2019-2020 Ziyang Liu
Author Ziyang Liu <>
Maintainer Ziyang Liu <>
Category Data Structures
Home page
Bug tracker
Source repo head: git clone
Uploaded by zliu41 at 2021-07-09T05:11:08Z
Distributions LTSHaskell:0.2, NixOS:0.2, Stackage:0.2
Downloads 1939 total (38 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-07-09 [all 1 reports]

Readme for multi-containers-0.2

[back to package description]


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.