Safe Haskell | Safe-Infered |
---|

- type UnL a b = forall r r'. K7 (C (b -> r)) (C (a -> r)) (C (b -> r')) (C (a -> r'))
- type BinL a b c = forall r r'. K7 (C (c -> r)) (C (b -> a -> r)) (C (c -> r')) (C (b -> a -> r'))
- liftL :: Sym a b -> UnL a b
- catanar :: BinL a b b -> BinL b [a] b
- catanal :: BinL a b a -> BinL a [b] a
- consL :: BinL a [a] [a]
- nilL :: PP [a]
- justL :: UnL a (Maybe a)
- nothingL :: PP (Maybe a)
- pairL :: BinL a b (a, b)
- tripleL :: K7 (C ((a, b, c) -> r)) (C (c -> b -> a -> r)) (C ((a, b, c) -> r')) (C (c -> b -> a -> r'))
- quadrupleL :: K7 (C ((a, b, c, d) -> r)) (C (d -> c -> b -> a -> r)) (C ((a, b, c, d) -> r')) (C (d -> c -> b -> a -> r'))

# Documentation

type UnL a b = forall r r'. K7 (C (b -> r)) (C (a -> r)) (C (b -> r')) (C (a -> r'))Source

The type of binary leads, parameterized by the type of the left operand, the right operand, and the type of the result.

type BinL a b c = forall r r'. K7 (C (c -> r)) (C (b -> a -> r)) (C (c -> r')) (C (b -> a -> r'))Source

The type of binary leads, parameterized by the type of the left operand, the right operand, and the type of the result.

catanar :: BinL a b b -> BinL b [a] bSource

Iterates a one step construction function (resp. deconstruction)
function, i.e. a lead, thus obtaining a right fold (resp. unfold). The
resulting lead is a catamorphism on one side and an anamorpism on the
other, hence the name. The type of this function is the same as that of
`foldr`

, lifted to cassettes.

catanal :: BinL a b a -> BinL a [b] aSource

Iterates a one step construction function (resp. deconstruction)
function, i.e. a lead, thus obtaining a left fold (resp. unfold). The
resulting lead is a catamorphism on one side and an anamorpism on the
other, hence the name. The type of this function is the same as that of
`foldl`

, lifted to cassettes.