gmap-0.1: Composable maps and generic tries.

Data.GMap.ChoiceMap

Synopsis

Documentation

data Choice2 a b Source

Constructors

C1of2 a 
C2of2 b 

Instances

Injection (InjectMaybe k) (Maybe k) (Choice2 k ()) 
(Eq a, Eq b) => Eq (Choice2 a b) 
(Ord a, Ord b) => Ord (Choice2 a b) 
(Read a, Read b) => Read (Choice2 a b) 
(Show a, Show b) => Show (Choice2 a b) 
(Arbitrary a, Arbitrary b) => Arbitrary (Choice2 a b) 
Injection (InjectEither l r) (Either l r) (Choice2 l r) 
Injection (InjectChoice3 a b c) (Choice3 a b c) (Choice2 a (Choice2 b c)) 
(OrderedMap mapL kL, OrderedMap mapR kR) => OrderedMap (Choice2Map mapL mapR kL kR) (Choice2 kL kR) 
(Map mapL kL, Map mapR kR) => Map (Choice2Map mapL mapR kL kR) (Choice2 kL kR) 
Injection (InjectChoice4 a b c d) (Choice4 a b c d) (Choice2 (Choice2 a b) (Choice2 c d)) 
Injection (InjectChoice5 a b c d e) (Choice5 a b c d e) (Choice2 (Choice2 a b) (Choice2 c (Choice2 d e))) 

data Choice2Map mapL mapR kL kR a Source

The Map type for keys of form (Map mapL kL, Map mapR kR) => Choice2 kL kR.

Instances

(Map mapL kL, Map mapR kR) => Functor (Choice2Map mapL mapR kL kR) 
(Typeable1 mapL, Typeable1 mapR) => Typeable1 (Choice2Map mapL mapR kL kR) 
(Map mapL kL, Map mapR kR) => Foldable (Choice2Map mapL mapR kL kR) 
(OrderedMap mapL kL, OrderedMap mapR kR) => OrderedMap (Choice2Map mapL mapR kL kR) (Choice2 kL kR) 
(Map mapL kL, Map mapR kR) => Map (Choice2Map mapL mapR kL kR) (Choice2 kL kR) 
(Eq (mapL a), Eq (mapR a)) => Eq (Choice2Map mapL mapR kL kR a) 
(Map mapL kL, Map mapR kR, Ord (mapL a), Ord (mapR a)) => Ord (Choice2Map mapL mapR kL kR a) 
(Map mapL kL, Map mapR kR, Read kL, Read kR, Read a) => Read (Choice2Map mapL mapR kL kR a) 
(Map mapL kL, Map mapR kR, Show kL, Show kR, Show a) => Show (Choice2Map mapL mapR kL kR a) 
(Typeable1 (Choice2Map mapL mapR kL kR), Typeable a) => Typeable (Choice2Map mapL mapR kL kR a) 
(Map mapL kL, Map mapR kR, Monoid a) => Monoid (Choice2Map mapL mapR kL kR a) 

data Choice3 a b c Source

Constructors

C1of3 a 
C2of3 b 
C3of3 c 

Instances

(Eq a, Eq b, Eq c) => Eq (Choice3 a b c) 
(Ord a, Ord b, Ord c) => Ord (Choice3 a b c) 
(Read a, Read b, Read c) => Read (Choice3 a b c) 
(Show a, Show b, Show c) => Show (Choice3 a b c) 
(Arbitrary a, Arbitrary b, Arbitrary c) => Arbitrary (Choice3 a b c) 
Injection (InjectChoice3 a b c) (Choice3 a b c) (Choice2 a (Choice2 b c)) 

type Choice3Map mapa mapb mapc a b c = InjectKeys (InjectChoice3 a b c) (Choice3 a b c) (Choice2 a (Choice2 b c)) (Choice2Map mapa (Choice2Map mapb mapc b c) a (Choice2 b c))Source

data Choice4 a b c d Source

Constructors

C1of4 a 
C2of4 b 
C3of4 c 
C4of4 d 

Instances

(Eq a, Eq b, Eq c, Eq d) => Eq (Choice4 a b c d) 
(Ord a, Ord b, Ord c, Ord d) => Ord (Choice4 a b c d) 
(Read a, Read b, Read c, Read d) => Read (Choice4 a b c d) 
(Show a, Show b, Show c, Show d) => Show (Choice4 a b c d) 
(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d) => Arbitrary (Choice4 a b c d) 
Injection (InjectChoice4 a b c d) (Choice4 a b c d) (Choice2 (Choice2 a b) (Choice2 c d)) 

type Choice4Map mapa mapb mapc mapd a b c d = InjectKeys (InjectChoice4 a b c d) (Choice4 a b c d) (Choice2 (Choice2 a b) (Choice2 c d)) (Choice2Map (Choice2Map mapa mapb a b) (Choice2Map mapc mapd c d) (Choice2 a b) (Choice2 c d))Source

data Choice5 a b c d e Source

Constructors

C1of5 a 
C2of5 b 
C3of5 c 
C4of5 d 
C5of5 e 

Instances

(Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (Choice5 a b c d e) 
(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (Choice5 a b c d e) 
(Read a, Read b, Read c, Read d, Read e) => Read (Choice5 a b c d e) 
(Show a, Show b, Show c, Show d, Show e) => Show (Choice5 a b c d e) 
(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e) => Arbitrary (Choice5 a b c d e) 
Injection (InjectChoice5 a b c d e) (Choice5 a b c d e) (Choice2 (Choice2 a b) (Choice2 c (Choice2 d e))) 

type Choice5Map mapa mapb mapc mapd mape a b c d e = InjectKeys (InjectChoice5 a b c d e) (Choice5 a b c d e) (Choice2 (Choice2 a b) (Choice2 c (Choice2 d e))) (Choice2Map (Choice2Map mapa mapb a b) (Choice2Map mapc (Choice2Map mapd mape d e) c (Choice2 d e)) (Choice2 a b) (Choice2 c (Choice2 d e)))Source