Safe Haskell | None |
---|---|
Language | Haskell98 |
Constructor-destructor isomorphisms for some common datatypes.
- unit :: Piso t (() :- t)
- tup :: Piso (a :- (b :- t)) ((a, b) :- t)
- tup3 :: Piso (a :- (b :- (c :- t))) ((a, b, c) :- t)
- nothing :: Piso t (Maybe a :- t)
- just :: Piso (a :- t) (Maybe a :- t)
- nil :: Piso t ([a] :- t)
- cons :: Piso (a :- ([a] :- t)) ([a] :- t)
- left :: Piso (a :- t) (Either a b :- t)
- right :: Piso (b :- t) (Either a b :- t)
- false :: Piso t (Bool :- t)
- true :: Piso t (Bool :- t)