| Copyright | Copyright (C) 2015 Kyle Carter |
|---|---|
| License | BSD3 |
| Maintainer | Kyle Carter <kylcarte@indiana.edu> |
| Stability | experimental |
| Portability | RankNTypes |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Type.Combinator
Description
Documentation
Instances
| Witness p q (f (g a)) => Witness p q ((:.:) k l f g a) Source # | |
| TestEquality l1 f => TestEquality1 l (l -> l1) ((:.:) l l1 f) Source # | |
| TestEquality l f => TestEquality k ((:.:) k l f g) Source # | |
| Show1 l f => Show1 k ((:.:) k l f g) Source # | |
| Ord1 l f => Ord1 k ((:.:) k l f g) Source # | |
| Eq1 l f => Eq1 k ((:.:) k l f g) Source # | |
| Eq (f (g a)) => Eq ((:.:) k l f g a) Source # | |
| Ord (f (g a)) => Ord ((:.:) k l f g a) Source # | |
| Read (f (g a)) => Read ((:.:) k l f g a) Source # | |
| Show (f (g a)) => Show ((:.:) k l f g a) Source # | |
| type WitnessC p q ((:.:) k l f g a) Source # | |
Instances
Instances
| Witness p q r => Witness p q (C k r a) Source # | |
| Read r => Read1 k (C k r) Source # | |
| Show r => Show1 k (C k r) Source # | |
| Ord r => Ord1 k (C k r) Source # | |
| Eq r => Eq1 k (C k r) Source # | |
| Functor (C * r) Source # | |
| Foldable (C * r) Source # | |
| Traversable (C * r) Source # | |
| Eq r => Eq (C k r a) Source # | |
| Num r => Num (C k r a) Source # | |
| Ord r => Ord (C k r a) Source # | |
| Read r => Read (C k r a) Source # | |
| Show r => Show (C k r a) Source # | |
| type WitnessC p q (C k r a) Source # | |
Instances
| Witness p q (f a b) => Witness p q (Flip k k1 f b a) Source # | |
| TestEquality1 k1 k p => TestEquality k (Flip k k1 p b) Source # | |
| Known k1 (p a) b => Known k (Flip k k1 p b) a Source # | |
| Eq (p a b) => Eq (Flip k k1 p b a) Source # | |
| Ord (p a b) => Ord (Flip k k1 p b a) Source # | |
| Read (p a b) => Read (Flip k k1 p b a) Source # | |
| Show (p a b) => Show (Flip k k1 p b a) Source # | |
| type WitnessC p q (Flip k k1 f b a) Source # | |
| type KnownC k (Flip k k1 p b) a Source # | |
flipTestEquality1 :: TestEquality (p c) => Flip p a c -> Flip p b c -> Maybe (a :~: b) Source #
Instances
| Witness q r (p ((#) k l a b)) => Witness q r (Cur k l p a b) Source # | |
| Known (k1, k) p ((#) k1 k a b) => Known k (Cur k1 k p a) b Source # | |
| Eq (p ((#) k l a b)) => Eq (Cur k l p a b) Source # | |
| Ord (p ((#) k l a b)) => Ord (Cur k l p a b) Source # | |
| Read (p ((#) k l a b)) => Read (Cur k l p a b) Source # | |
| Show (p ((#) k l a b)) => Show (Cur k l p a b) Source # | |
| type WitnessC q r (Cur k l p a b) Source # | |
| type KnownC k (Cur k1 k p a) b Source # | |
data Uncur p :: (k, l) -> * where Source #
Instances
| (Witness r s (p a b), (~) (k, l) q ((#) k l a b)) => Witness r s (Uncur l k p q) Source # | |
| Read2 l k p => Read1 (k, l) (Uncur l k p) Source # | |
| (Known l (p a) b, (~) (k, l) q ((#) k l a b)) => Known (k, l) (Uncur l k p) q Source # | |
| Eq (p (Fst k l x) (Snd k l x)) => Eq (Uncur l k p x) Source # | |
| Ord (p (Fst k l x) (Snd k l x)) => Ord (Uncur l k p x) Source # | |
| ((~) (k, l) x ((#) k l a b), Read (p a b)) => Read (Uncur l k p x) Source # | |
| Show (p (Fst k l x) (Snd k l x)) => Show (Uncur l k p x) Source # | |
| type WitnessC r s (Uncur l k p q) Source # | |
| type KnownC (k, l) (Uncur l k p) q Source # | |
Instances
| Witness q r (p ((,,) k l m a b c)) => Witness q r (Cur3 k l m p a b c) Source # | |
| Known (k1, l, k) p ((,,) k1 l k a b c) => Known k (Cur3 k1 l k p a b) c Source # | |
| Eq (p ((,,) k l m a b c)) => Eq (Cur3 k l m p a b c) Source # | |
| Ord (p ((,,) k l m a b c)) => Ord (Cur3 k l m p a b c) Source # | |
| Read (p ((,,) k l m a b c)) => Read (Cur3 k l m p a b c) Source # | |
| Show (p ((,,) k l m a b c)) => Show (Cur3 k l m p a b c) Source # | |
| type WitnessC q r (Cur3 k l m p a b c) Source # | |
| type KnownC k (Cur3 k1 l k p a b) c Source # | |
data Uncur3 p :: (k, l, m) -> * where Source #
Instances
| (Witness r s (p a b c), (~) (k, l, m) q ((,,) k l m a b c)) => Witness r s (Uncur3 m l k p q) Source # | |
| Read3 m l k p => Read1 (k, l, m) (Uncur3 m l k p) Source # | |
| (Known m (p a b) c, (~) (k, l, m) q ((,,) k l m a b c)) => Known (k, l, m) (Uncur3 m l k p) q Source # | |
| Eq (p (Fst3 k l m x) (Snd3 k l m x) (Thd3 k l m x)) => Eq (Uncur3 m l k p x) Source # | |
| Ord (p (Fst3 k l m x) (Snd3 k l m x) (Thd3 k l m x)) => Ord (Uncur3 m l k p x) Source # | |
| ((~) (k, l, m) x ((,,) k l m a b c), Read (p a b c)) => Read (Uncur3 m l k p x) Source # | |
| Show (p (Fst3 k l m x) (Snd3 k l m x) (Thd3 k l m x)) => Show (Uncur3 m l k p x) Source # | |
| type WitnessC r s (Uncur3 m l k p q) Source # | |
| type KnownC (k, l, m) (Uncur3 m l k p) q Source # | |
mapUncur3 :: (p (Fst3 x) (Snd3 x) (Thd3 x) -> q d e f) -> Uncur3 p x -> Uncur3 q '(d, e, f) Source #
Instances
| Witness p q (f a a) => Witness p q (Join k f a) Source # | |
| Show2 k k f => Show1 k (Join k f) Source # | |
| Ord2 k k f => Ord1 k (Join k f) Source # | |
| Eq2 k k f => Eq1 k (Join k f) Source # | |
| Known k (f a) a => Known k (Join k f) a Source # | |
| Eq (f a a) => Eq (Join k f a) Source # | |
| Ord (f a a) => Ord (Join k f a) Source # | |
| Read (f a a) => Read (Join k f a) Source # | |
| Show (f a a) => Show (Join k f a) Source # | |
| type WitnessC p q (Join k f a) Source # | |
| type KnownC k (Join k f) a Source # | |