| Portability | non-portable |
|---|---|
| Stability | experimental |
| Maintainer | hpacheco@di.uminho.pt |
Generics.Pointless.Bifctrable
Description
Pointless Haskell: point-free programming with recursion patterns as hylomorphisms
This module defines a class of representable bifunctors.
- data Bifctr f where
- class Bifunctor f => Bifctrable f where
- fixB :: Bifctr f -> BFix f
- fctrB :: Bifctrable f => BFix f -> Bifctr f
Documentation
Functor GADT for polytypic recursive bifunctions.
At the moment it does not rely on a Typeable instance for constants.
Constructors
| BI :: Bifctr BId | |
| BK :: Bifctr (BConst c) | |
| BP :: Bifctr BPar | |
| :*!| :: (Bifunctor f, Bifunctor g) => Bifctr f -> Bifctr g -> Bifctr (f :*| g) | |
| :+!| :: (Bifunctor f, Bifunctor g) => Bifctr f -> Bifctr g -> Bifctr (f :+| g) | |
| :@!| :: (Bifunctor f, Bifunctor g) => Bifctr f -> Bifctr g -> Bifctr (f :@| g) |
class Bifunctor f => Bifctrable f whereSource
Class of representable bifunctors.
Instances
| Bifctrable BPar | |
| Bifctrable BId | |
| Bifctrable (BConst c) | |
| (Bifunctor f, Bifctrable f, Bifunctor g, Bifctrable g) => Bifctrable (:*| f g) | |
| (Bifunctor f, Bifctrable f, Bifunctor g, Bifctrable g) => Bifctrable (:+| f g) |
fctrB :: Bifctrable f => BFix f -> Bifctr fSource
The representation of the fixpoint of a representable functor.