Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- data Mapping k v = k :-> v
- type Union m n = Nub (Sort (m :++ n))
- type Unionable s t = (Nubable (Sort (s :++ t)), Sortable (s :++ t))
- union :: Unionable s t => Map s -> Map t -> Map (Union s t)
- data Var k = Var
- data Map n where
- type family Combine (a :: v) (b :: v) :: v
- class Combinable t t' where
- type family Cmp (a :: k) (b :: k) :: Ordering
- type family Lookup (m :: [Mapping k v]) (c :: k) :: Maybe v where ...
- type family Member (c :: k) (m :: [Mapping k v]) :: Bool where ...
- type family (m :: [Mapping k v]) :\ (c :: k) :: [Mapping k v] where ...
Documentation
A key-value pair
k :-> v infixr 4 |
Pair a symbol (representing a variable) with a type
KnownSymbol k => Show (Var k) Source # | |
A value-level heterogenously-typed Map (with type-level representation in terms of lists)
type family Combine (a :: v) (b :: v) :: v Source #
Open type family for combining values in a map (that have the same key)
type family Cmp (a :: k) (b :: k) :: Ordering Source #
Open-family for the ordering operation in the sort
type family Lookup (m :: [Mapping k v]) (c :: k) :: Maybe v where ... Source #
Lookup elements from a map