Copyright | Copyright (C) 2015 Kyle Carter |
---|---|
License | BSD3 |
Maintainer | Kyle Carter <kylcarte@indiana.edu> |
Stability | experimental |
Portability | RankNTypes |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
Witness p q (f (g a)) => Witness p q ((:.:) k k f g a) Source | |
TestEquality k1 f => TestEquality k ((:.:) k k f g) Source | |
Show1 k1 f => Show1 k ((:.:) k k f g) Source | |
Ord1 k1 f => Ord1 k ((:.:) k k f g) Source | |
Eq1 k1 f => Eq1 k ((:.:) k k f g) Source | |
TestEquality k1 f => TestEquality1 (k -> k) k ((:.:) k k f) Source | |
Eq (f (g a)) => Eq ((:.:) l k f g a) Source | |
Ord (f (g a)) => Ord ((:.:) l k f g a) Source | |
Read (f (g a)) => Read ((:.:) l k f g a) Source | |
Show (f (g a)) => Show ((:.:) l k f g a) Source | |
type WitnessC p q ((:.:) k k1 f g a) = Witness p q (f (g a)) Source |
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) = Witness p q r Source |
Witness p q (f a b) => Witness p q (Flip k k f b a) Source | |
TestEquality1 k k1 p => TestEquality k (Flip k k p b) Source | |
Known k1 (p a) b => Known k (Flip k k p b) a Source | |
Eq (p a b) => Eq (Flip k k p b a) Source | |
Ord (p a b) => Ord (Flip k k p b a) Source | |
Read (p a b) => Read (Flip k k p b a) Source | |
Show (p a b) => Show (Flip k k p b a) Source | |
type WitnessC p q (Flip k k1 f b a) = Witness p q (f a b) Source | |
type KnownC k (Flip k k1 p b) a = Known k1 (p a) b Source |
flipTestEquality1 :: TestEquality (p c) => Flip p a c -> Flip p b c -> Maybe (a :~: b) Source
Witness q r (p ((#) k k1 a b)) => Witness q r (Cur k k p a b) Source | |
Known ((,) k1 k) p ((#) k1 k a b) => Known k (Cur k k p a) b Source | |
Eq (p ((#) k k1 a b)) => Eq (Cur k k p a b) Source | |
Ord (p ((#) k k1 a b)) => Ord (Cur k k p a b) Source | |
Read (p ((#) k k1 a b)) => Read (Cur k k p a b) Source | |
Show (p ((#) k k1 a b)) => Show (Cur k k p a b) Source | |
type WitnessC q r (Cur k k1 p a b) = Witness q r (p ((#) k k1 a b)) Source | |
type KnownC k (Cur k1 k p a) b = Known ((,) k1 k) p ((#) k1 k a b) Source |
data Uncur p :: (k, l) -> * where Source
(Witness r s (p a b), (~) ((,) k k1) q ((#) k k1 a b)) => Witness r s (Uncur k k p q) Source | |
Read2 k k1 p => Read1 ((,) k k) (Uncur k k p) Source | |
(Known k1 (p a) b, (~) ((,) k k1) q ((#) k k1 a b)) => Known ((,) k k) (Uncur k k p) q Source | |
Eq (p (Fst k k1 x) (Snd k1 k x)) => Eq (Uncur k k p x) Source | |
Ord (p (Fst k k1 x) (Snd k1 k x)) => Ord (Uncur k k p x) Source | |
((~) ((,) k k1) x ((#) k k1 a b), Read (p a b)) => Read (Uncur k k p x) Source | |
Show (p (Fst k k1 x) (Snd k1 k x)) => Show (Uncur k k p x) Source | |
type WitnessC r s (Uncur k k1 p q) = Witness r s (p (Fst k k1 q) (Snd k1 k q)) Source | |
type KnownC ((,) k k1) (Uncur k k1 p) q = Known k1 (p (Fst k k1 q)) (Snd k1 k q) Source |
Witness q r (p ((,,) k k1 k2 a b c)) => Witness q r (Cur3 k k k p a b c) Source | |
Known ((,,) k1 k2 k) p ((,,) k1 k2 k a b c) => Known k (Cur3 k k k p a b) c Source | |
Eq (p ((,,) k k1 k2 a b c)) => Eq (Cur3 k k k p a b c) Source | |
Ord (p ((,,) k k1 k2 a b c)) => Ord (Cur3 k k k p a b c) Source | |
Read (p ((,,) k k1 k2 a b c)) => Read (Cur3 k k k p a b c) Source | |
Show (p ((,,) k k1 k2 a b c)) => Show (Cur3 k k k p a b c) Source | |
type WitnessC q r (Cur3 k k1 k2 p a b c) = Witness q r (p ((,,) k k1 k2 a b c)) Source | |
type KnownC k (Cur3 k1 k2 k p a b) c = Known ((,,) k1 k2 k) p ((,,) k1 k2 k a b c) Source |
data Uncur3 p :: (k, l, m) -> * where Source
(Witness r s (p a b c), (~) ((,,) k k1 k2) q ((,,) k k1 k2 a b c)) => Witness r s (Uncur3 k k k p q) Source | |
Read3 k k1 k2 p => Read1 ((,,) k k k) (Uncur3 k k k p) Source | |
(Known k2 (p a b) c, (~) ((,,) k k1 k2) q ((,,) k k1 k2 a b c)) => Known ((,,) k k k) (Uncur3 k k k p) q Source | |
Eq (p (Fst3 k k1 k2 x) (Snd3 k1 k k2 x) (Thd3 k2 k k1 x)) => Eq (Uncur3 k k k p x) Source | |
Ord (p (Fst3 k k1 k2 x) (Snd3 k1 k k2 x) (Thd3 k2 k k1 x)) => Ord (Uncur3 k k k p x) Source | |
((~) ((,,) k k1 k2) x ((,,) k k1 k2 a b c), Read (p a b c)) => Read (Uncur3 k k k p x) Source | |
Show (p (Fst3 k k1 k2 x) (Snd3 k1 k k2 x) (Thd3 k2 k k1 x)) => Show (Uncur3 k k k p x) Source | |
type WitnessC r s (Uncur3 k k1 k2 p q) = Witness r s (p (Fst3 k k1 k2 q) (Snd3 k1 k k2 q) (Thd3 k2 k k1 q)) Source | |
type KnownC ((,,) k k1 k2) (Uncur3 k k1 k2 p) q = Known k2 (p (Fst3 k k1 k2 q) (Snd3 k1 k k2 q)) (Thd3 k2 k k1 q) Source |
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) = Witness p q (f a a) Source | |
type KnownC k (Join k f) a = Known k (f a) a Source |