Operators for use in Repr
instances for types.
Documentation
Denotes that maps on this type should be implemented with traditional binary search trees.
Functor Ordered | |
Eq a => Eq (Ordered a) | |
Functor (TrieMap (Ordered k)) | |
Ord a => Ord (Ordered a) | |
Foldable (TrieMap (Ordered k)) | |
Traversable (TrieMap (Ordered k)) | |
Ord k => Subset (TrieMap (Ordered k)) | |
Ord k => SetOp (TrieMap (Ordered k)) | |
Ord k => Project (TrieMap (Ordered k)) | |
Ord k => TrieKey (Ordered k) | |
Ord k => Buildable (TrieMap (Ordered k)) (Ordered k) |
Denotes that maps on this type should be treated as reversed. For instance,
might be
implemented as Rep
Int
, to handle negative numbers properly.
Either
(Rev
Word) Word
Functor Rev | |
Eq k => Eq (Rev k) | |
(TrieKey k, Functor (TrieMap k)) => Functor (TrieMap (Rev k)) | |
Ord k => Ord (Rev k) | |
(TrieKey k, Foldable (TrieMap k)) => Foldable (TrieMap (Rev k)) | |
(TrieKey k, Traversable (TrieMap k)) => Traversable (TrieMap (Rev k)) | |
(TrieKey k, Subset (TrieMap k)) => Subset (TrieMap (Rev k)) | |
(TrieKey k, SetOp (TrieMap k)) => SetOp (TrieMap (Rev k)) | |
(TrieKey k, Project (TrieMap k)) => Project (TrieMap (Rev k)) | |
TrieKey k => TrieKey (Rev k) |
|
TrieKey k => Buildable (TrieMap (Rev k)) (Rev k) |
Indicates that the map for this type should be bootstrapped from its TKey
instance.
This modifier is necessary to define a TKey
instance for a recursively defined type.
For example:
data Tree = Node Char [Tree] instance 'Repr' Tree where type 'Rep' Tree = ('Rep' 'Char', ['Key' Tree]) 'toRep' (Node label children) = ('toRep' label, 'map' 'Key' children) ...
(Repr k, Eq (Rep k)) => Eq (Key k) | |
(Repr k, TrieKey (Rep k), Functor (RepMap k)) => Functor (TrieMap (Key k)) | |
(Repr k, Ord (Rep k)) => Ord (Key k) | |
(Repr k, TrieKey (Rep k), Foldable (RepMap k)) => Foldable (TrieMap (Key k)) | |
(Repr k, TrieKey (Rep k), Traversable (RepMap k)) => Traversable (TrieMap (Key k)) | |
(Repr k, TrieKey (Rep k), Subset (RepMap k)) => Subset (TrieMap (Key k)) | |
Repr k => Repr (Key k) | |
(Repr k, TrieKey (Rep k), SetOp (RepMap k)) => SetOp (TrieMap (Key k)) | |
(Repr k, TrieKey (Rep k), Project (RepMap k)) => Project (TrieMap (Key k)) | |
TKey k => TrieKey (Key k) | |
(Repr k, TrieKey (Rep k), Buildable (RepMap k) (Rep k)) => Buildable (TrieMap (Key k)) (Key k) |