Dependent maps: k is a GADT-like thing with a facility for
rediscovering its type parameter, elements of which function as identifiers
tagged with the type of the thing they identify. Real GADTs are one
useful instantiation of k, as are Tags from Data.Unique.Tag in the
'prim-uniq' package.
Semantically, DMap k f is equivalent to a set of DSum k f where no two
elements have the same tag.
More informally, DMap is to dependent products as M.Map is to (->).
Thus it could also be thought of as a partial (in the sense of "partial
function") dependent product.
Instances6Eq, Ord, Read, Show, Semigroup, Monoid
(GEq k2, Has' Eq k2 f) => Eq (DMap k2 f)Defined in dependent-map-0.4.0.0 · Data.Dependent.Map · orphan(GCompare k2, Has' Eq k2 f, Has' Ord k2 f) => Ord (DMap k2 f)Defined in dependent-map-0.4.0.0 · Data.Dependent.Map · orphan(GCompare k2, GRead k2, Has' Read k2 f) => Read (DMap k2 f)Defined in dependent-map-0.4.0.0 · Data.Dependent.Map · orphan(GShow k2, Has' Show k2 f) => Show (DMap k2 f)Defined in dependent-map-0.4.0.0 · Data.Dependent.Map · orphanGCompare k2 => Semigroup (DMap k2 f)Defined in dependent-map-0.4.0.0 · Data.Dependent.Map · orphanGCompare k2 => Monoid (DMap k2 f)Defined in dependent-map-0.4.0.0 · Data.Dependent.Map · orphan