multi-containers: A few multimap variants.

[ bsd3, data-structures, library ] [ Propose Tags ]
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.1, 0.2
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), containers (>=0.5.10.2 && <0.7) [details]
License BSD-3-Clause
Copyright 2019-2020 Ziyang Liu
Author Ziyang Liu <free@cofree.io>
Maintainer Ziyang Liu <free@cofree.io>
Category Data Structures
Home page https://github.com/zliu41/multi-containers#readme
Bug tracker https://github.com/zliu41/multi-containers/issues
Source repo head: git clone https://github.com/zliu41/multi-containers
Uploaded by zliu41 at 2021-07-09T05:11:08Z
Distributions LTSHaskell:0.2, NixOS:0.2, Stackage:0.2
Downloads 1603 total (29 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]

multi-containers

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.