Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
The Cons type for a heterogenous list
(:-:) a b infixr 9 |
Tuplify a ar => Tuplify (Cons a Nil) ar | |
Append b c bc => Append (Cons a b) c (Cons a bc) | |
(Tuplify a ar, Tuplify b br) => Tuplify (Cons a (Cons b Nil)) (ar, br) | |
IntoMaybe (Cons a as) (Cons (Maybe (Cons a as)) Nil) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr) => Tuplify (Cons a (Cons b (Cons c Nil))) (ar, br, cr) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr) => Tuplify (Cons a (Cons b (Cons c (Cons d Nil)))) (ar, br, cr, dr) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e Nil))))) (ar, br, cr, dr, er) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er, Tuplify f fr) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e (Cons f Nil)))))) (ar, br, cr, dr, er, fr) |
The empty list
Tuplify Nil () | |
IntoMaybe Nil Nil | |
Append Nil b b | |
Tuplify a ar => Tuplify (Cons a Nil) ar | |
(Tuplify a ar, Tuplify b br) => Tuplify (Cons a (Cons b Nil)) (ar, br) | |
IntoMaybe (Cons a as) (Cons (Maybe (Cons a as)) Nil) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr) => Tuplify (Cons a (Cons b (Cons c Nil))) (ar, br, cr) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr) => Tuplify (Cons a (Cons b (Cons c (Cons d Nil)))) (ar, br, cr, dr) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e Nil))))) (ar, br, cr, dr, er) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er, Tuplify f fr) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e (Cons f Nil)))))) (ar, br, cr, dr, er, fr) |
class Append a b ab | a b -> ab where Source
Typeclass for appending one heterogenous list to another one
class IntoMaybe a ar | a -> ar where Source
Typeclass for wrapping a heterogenous list into a Maybe on demand
class Tuplify l t | l -> t where Source
Typeclass for everything that may be converted to a tuple
Tuplify Char Char | |
Tuplify Int Int | |
Tuplify Nil () | |
Tuplify a ar => Tuplify (Titled a) ar | |
Tuplify a ar => Tuplify [a] [ar] | |
Tuplify a ar => Tuplify (Maybe a) (Maybe ar) | |
Tuplify a ar => Tuplify (Cons a Nil) ar | |
(Tuplify a ar, Tuplify b br) => Tuplify (Cons a (Cons b Nil)) (ar, br) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr) => Tuplify (Cons a (Cons b (Cons c Nil))) (ar, br, cr) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr) => Tuplify (Cons a (Cons b (Cons c (Cons d Nil)))) (ar, br, cr, dr) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e Nil))))) (ar, br, cr, dr, er) | |
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er, Tuplify f fr) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e (Cons f Nil)))))) (ar, br, cr, dr, er, fr) |