natural-transformation-0.2: A natural transformation package.

Copyright(C) 2015 The University of Kansas
LicenseBSD-style (see the file LICENSE)
MaintainerAndy Gill
StabilityExperimental
Safe HaskellSafe
LanguageHaskell2010

Control.Transformation

Description

A type class for transformations.

Synopsis

Documentation

class Transformation f g t | t -> f g where Source

A (natural) transformation is inside t, and contains f and g (typically Functors).

The order of arguments allows the use of GeneralizedNewtypeDeriving to wrap a :~>, but maintain the Transformation constraint. Thus, # can be used on abstract data types.

Methods

(#) :: t -> f a -> g a infixr 0 Source

The invocation method for a natural transformation.

Instances

Transformation k f g ((:~>) k f g)