TrieMap-0.5.4: 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 [] RadixTrie
TrieKeyT [] RadixTrie
TrieKeyT U0 M
TrieKeyT U0 M
TrieKeyT I0 IMap
TrieKeyT I0 IMap
TrieKeyT Rev ReverseMap
TrieKeyT Rev ReverseMap
TrieKey k1 m1 => TrieKeyT (Either k1) (UMap m1)
TrieKey k1 m1 => TrieKeyT (Either k1) (UMap m1)
TrieKey k1 m1 => TrieKeyT ((,) k1) (PMap m1)
TrieKey k1 m1 => TrieKeyT ((,) k1) (PMap m1)
(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 m => TrieKeyT (App f) (AppMap m)
TrieKeyT f m => TrieKeyT (App f) (AppMap m)
(TrieKeyT f m, Functor f, TrieKeyT g (TrieMapT g)) => TrieKeyT (O f g) (CompMap m g)
(TrieKeyT f m, Functor f, TrieKeyT g (TrieMapT g)) => TrieKeyT (O f g) (CompMap m g)
(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)
Repr a => ReprT (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)
Show a => Show (K0 a r)
Repr a => Repr (K0 a b)
(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
ReprT I0
EqT I0
OrdT I0
TrieKeyT I0 IMap
Eq r => Eq (I0 r)
Ord r => Ord (I0 r)
Show r => Show (I0 r)
Repr a[a4IN] => Repr (I0 a[a4IN])
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)
(ReprT f[a51F], ReprT g[a51G]) => ReprT (f[a51F] :*: g[a51G])
(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)
(Show (f r), Show (g r)) => Show ((f :*: g) r)
(Repr a[a51P], ReprT f[a51F], ReprT g[a51G]) => Repr ((f[a51F] :*: g[a51G]) a[a51P])
(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)
(ReprT f[a5eC], ReprT g[a5eD]) => ReprT (f[a5eC] :+: g[a5eD])
(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)
(Show (f r), Show (g r)) => Show ((f :+: g) r)
(Repr a[a5eO], ReprT f[a5eC], ReprT g[a5eD]) => Repr ((f[a5eC] :+: g[a5eD]) a[a5eO])
(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)
ReprT f[a4RU] => ReprT (L f[a4RU])
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)
Show (f r) => Show (L f r)
(Repr a[a4S1], ReprT f[a4RU]) => Repr (L f[a4RU] a[a4S1])
(OrdT f, TrieKeyT f (TrieMapT f), TrieKey k (TrieMap k)) => TrieKey (L f k) (RadixTrie f k)
newtype O f g r Source
Constructors
O (f (g r))
show/hide Instances
(Functor f, Functor g) => Functor (O f g)
(ReprT f[a5pB], ReprT g[a5pC]) => ReprT (O f[a5pB] g[a5pC])
(EqT f, EqT g) => EqT (O f g)
(OrdT f, OrdT g) => OrdT (O f g)
(TrieKeyT f m, Functor f, TrieKeyT g (TrieMapT g)) => TrieKeyT (O f g) (CompMap m g)
(EqT f, EqT g, Eq r) => Eq (O f g r)
(OrdT f, OrdT g, Ord r) => Ord (O f g r)
(Repr a[a5pJ], ReprT f[a5pB], ReprT g[a5pC]) => Repr (O f[a5pB] g[a5pC] a[a5pJ])
(TrieKeyT f m, Functor f, TrieKeyT g (TrieMapT g), TrieKey k (TrieMap k)) => TrieKey (O f g k) (CompMap m g 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)
Show r => Show (Reg r)
(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)
show/hide Instances
ReprT f => Repr (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
partEithers :: [((f :+: g) r, a)] -> ([(f r, a)], [(g r, a)])Source
class EqT f whereSource
Methods
eqT0 :: (a -> a -> Bool) -> f a -> f a -> BoolSource
show/hide Instances
EqT []
EqT U0
EqT I0
EqT Rev
EqT Ordered
Eq a => EqT (Either a)
Eq a => EqT ((,) a)
EqT f => EqT (L f)
Eq a => EqT (K0 a)
EqT f => EqT (App f)
(EqT f, EqT g) => EqT (O f g)
(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 Rev
OrdT Ordered
Ord a => OrdT (Either a)
Ord a => OrdT ((,) a)
OrdT f => OrdT (L f)
Ord a => OrdT (K0 a)
OrdT f => OrdT (App f)
(OrdT f, OrdT g) => OrdT (O f g)
(OrdT f, OrdT g) => OrdT (f :+: g)
(OrdT f, OrdT g) => OrdT (f :*: g)
Produced by Haddock version 2.4.2