Package Info


TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap


This package wraps 'IntSet' and 'IntMap' from 'containers', and provides fast sets and maps keyed on any data type with a well-behaved 'Enum' instance. Useful for derived 'Enum's, newtype'd 'Int's, or any data type that can be packed into an 'Int': just implement 'fromEnum' and 'toEnum'.

The boilerplate is generated using Template Haskell, so unlike 'enummapset' it's easier to maintain and keep up-to-date with 'containers'. On the downside, it's less portable.

Note that "Data.EnumMap.Lazy" and "Data.EnumMap.Strict" provide distinct newtype wrappers, and their respective 'Functor' instances behave as expected, unlike that of 'IntMap' which is alway lazy.

License: BSD-3-Clause



Package Version Update ID Released Package Hub Version Platforms Subpackages info GA Release 2018-08-01 15
  • AArch64
  • ghc-enummapset-th
  • ghc-enummapset-th-devel info GA Release 2018-07-30 15
  • ppc64le
  • x86-64
  • ghc-enummapset-th
  • ghc-enummapset-th-devel