TrieMap-0.5.0: Automatic type inference of generalized tries.Source codeContentsIndex
Data.TrieMap.Regular
Documentation
type family TrieMapT f :: * -> (* -> *) -> * -> *Source
class OrdT f => TrieKeyT f m | m -> f, f -> mSource
show/hide Instances
TrieKeyT U0 M
TrieKeyT U0 M
TrieKeyT I0 IMap
TrieKeyT I0 IMap
(m ~ TrieMapT f, OrdT f, TrieKeyT f m) => TrieKeyT (L f) (RadixTrie f)
(m ~ TrieMapT f, OrdT f, TrieKeyT f m) => TrieKeyT (L f) (RadixTrie f)
(m ~ TrieMap k, TrieKey k m) => TrieKeyT (K0 k) (KMap m)
(m ~ TrieMap k, TrieKey k m) => TrieKeyT (K0 k) (KMap m)
(TrieKeyT f m1, TrieKeyT g m2) => TrieKeyT (f :+: g) (UnionMap m1 m2)
(TrieKeyT f m1, TrieKeyT g m2) => TrieKeyT (f :+: g) (UnionMap m1 m2)
(TrieKeyT f m1, TrieKeyT g m2) => TrieKeyT (f :*: g) (PMap m1 m2)
(TrieKeyT f m1, TrieKeyT g m2) => TrieKeyT (f :*: g) (PMap m1 m2)
newtype K0 a r Source
Constructors
K0
unK0 :: a
show/hide Instances
Functor (K0 a)
Eq a => EqT (K0 a)
Ord a => OrdT (K0 a)
(m ~ TrieMap k, TrieKey k m) => TrieKeyT (K0 k) (KMap m)
Eq a => Eq (K0 a r)
Ord a => Ord (K0 a r)
TKey k => TKey (K0 k r)
(m ~ TrieMap k, TrieKey k m) => TrieKey (K0 k r) (KMap m r)
newtype I0 r Source
Constructors
I0
unI0 :: r
show/hide Instances
Functor I0
EqT I0
OrdT I0
TrieKeyT I0 IMap
Eq r => Eq (I0 r)
Ord r => Ord (I0 r)
TKey r => TKey (I0 r)
TrieKey k (TrieMap k) => TrieKey (I0 k) (IMap k)
data U0 r Source
Constructors
U0
show/hide Instances
data (f :*: g) r Source
Constructors
(f r) :*: (g r)
show/hide Instances
(Functor f, Functor g) => Functor (f :*: g)
(EqT f, EqT g) => EqT (f :*: g)
(OrdT f, OrdT g) => OrdT (f :*: g)
(TrieKeyT f m1, TrieKeyT g m2) => TrieKeyT (f :*: g) (PMap m1 m2)
(EqT f, EqT g, Eq r) => Eq ((f :*: g) r)
(OrdT f, OrdT g, Ord r) => Ord ((f :*: g) r)
(TKey a, TrieKeyT f (TrieMapT f), TrieKeyT g (TrieMapT g), Functor f, Functor g) => TKey ((f :*: g) a)
(TrieKeyT f m1, TrieKeyT g m2, TrieKey k (TrieMap k)) => TrieKey ((f :*: g) k) (PMap m1 m2 k)
data (f :+: g) r Source
Constructors
L (f r)
R (g r)
show/hide Instances
(Functor f, Functor g) => Functor (f :+: g)
(EqT f, EqT g) => EqT (f :+: g)
(OrdT f, OrdT g) => OrdT (f :+: g)
(TrieKeyT f m1, TrieKeyT g m2) => TrieKeyT (f :+: g) (UnionMap m1 m2)
(EqT f, EqT g, Eq r) => Eq ((f :+: g) r)
(OrdT f, OrdT g, Ord r) => Ord ((f :+: g) r)
(TKey a, TrieKeyT f (TrieMapT f), TrieKeyT g (TrieMapT g), Functor f, Functor g) => TKey ((f :+: g) a)
(TrieKeyT f m1, TrieKeyT g m2, TrieKey k (TrieMap k)) => TrieKey ((f :+: g) k) (UnionMap m1 m2 k)
newtype L f r Source
Constructors
List [f r]
show/hide Instances
Functor f => Functor (L f)
EqT f => EqT (L f)
OrdT f => OrdT (L f)
(m ~ TrieMapT f, OrdT f, TrieKeyT f m) => TrieKeyT (L f) (RadixTrie f)
(EqT f, Eq r) => Eq (L f r)
(OrdT f, Ord r) => Ord (L f r)
(TKey a, TrieKeyT f (TrieMapT f), Functor f) => TKey (L f a)
(OrdT f, TrieKeyT f (TrieMapT f), TrieKey k (TrieMap k)) => TrieKey (L f k) (RadixTrie f k)
newtype Reg r Source
Constructors
Reg
unReg :: r
show/hide Instances
(Regular a, Functor (PF a), EqT (PF a)) => Eq (Reg a)
(Regular a, Functor (PF a), OrdT (PF a)) => Ord (Reg a)
(m ~ TrieMapT (PF k), Regular k, Functor (PF k), TrieKeyT (PF k) m) => TrieKey (Reg k) (RegMap k m)
newtype Fix f Source
Constructors
In
out :: f (Fix f)
type family PF a :: * -> *Source
class Regular a whereSource
Methods
from :: a -> PF a aSource
to :: PF a a -> aSource
from' :: (Functor (PF a), Regular a) => Reg a -> PF a (Reg a)Source
to' :: (Functor (PF a), Regular a) => PF a (Reg a) -> Reg aSource
class EqT f whereSource
Methods
eqT0 :: (a -> a -> Bool) -> f a -> f a -> BoolSource
show/hide Instances
EqT []
EqT U0
EqT I0
EqT f => EqT (L f)
Eq a => EqT (K0 a)
(EqT f, EqT g) => EqT (f :+: g)
(EqT f, EqT g) => EqT (f :*: g)
type Comparator a = a -> a -> OrderingSource
class EqT f => OrdT f whereSource
Methods
compareT0 :: Comparator a -> Comparator (f a)Source
show/hide Instances
OrdT []
OrdT U0
OrdT I0
OrdT f => OrdT (L f)
Ord a => OrdT (K0 a)
(OrdT f, OrdT g) => OrdT (f :+: g)
(OrdT f, OrdT g) => OrdT (f :*: g)
Produced by Haddock version 2.4.2