pointless-haskell-0.0.4: Pointless Haskell library

Portabilitynon-portable
Stabilityexperimental
Maintainerhpacheco@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.

Synopsis

Documentation

data Bifctr f whereSource

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.

Methods

bctr :: Bifctr fSource

fixB :: Bifctr f -> BFix fSource

The fixpoint of a representable bifunctor.

fctrB :: Bifctrable f => BFix f -> Bifctr fSource

The representation of the fixpoint of a representable functor.