enummapset-th-0.6.1.1: 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.
Modules