Portability | non-portable |
---|---|

Stability | experimental |

Maintainer | hpacheco@di.uminho.pt |

Pointless Haskell: point-free programming with recursion patterns as hylomorphisms

This module provides the same examples, but with support for GHood observations.

- lengthHyloO :: Observable a => [a] -> Int
- lengthAnaO :: Observable a => [a] -> Int
- lengthCataO :: (Typeable a, Observable a) => [a] -> Int
- factHyloO :: Int -> Int
- factParaO :: Int -> Int
- factZygoO :: Int -> Int
- fibHyloO :: Int -> Int
- fibHistoO :: Int -> Int
- fibDynaO :: Int -> Int
- qsortHyloO :: (Typeable a, Observable a, Ord a) => [a] -> [a]
- tailParaO :: (Typeable a, Observable a) => [a] -> [a]
- addAccumO :: (Int, Int) -> Int

# Documentation

lengthHyloO :: Observable a => [a] -> IntSource

Definition of the observable length function as an hylomorphism.

lengthAnaO :: Observable a => [a] -> IntSource

Definition of the observable length function as an anamorphism.

lengthCataO :: (Typeable a, Observable a) => [a] -> IntSource

Definition of the observable length function as a catamorphism.

qsortHyloO :: (Typeable a, Observable a, Ord a) => [a] -> [a]Source

Definition of the observable quicksort function as an hylomorphism.

tailParaO :: (Typeable a, Observable a) => [a] -> [a]Source

Definition of the observable tail function as a paramorphism.