Data.TrieMap.Modifiers
Description
Operators for use in Repr instances for types.
Documentation
Denotes that maps on this type should be implemented with traditional binary search trees.
Instances
| 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
Instances
| 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)
...
Instances
| (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) |