Control.Compose

Value transformers

type Unop a

type Binop a

Specialized semantic editor combinators

result

argument

(~>)

(~>*)

Contravariant functors

class ContraFunctor h

bicomap

Unary/unary composition

data (g :. f) a

type O

unO

biO

convO

coconvO

inO

inO2

inO3

oPure

oFmap

oLiftA2

oLiftA3

fmapFF

fmapCC

contraFmapFC

contraFmapCF

Type composition

Unary/binary

data OO f (~>) a b

(->)/unary

data FunA h a b

inFunA

inFunA2

class FunAble h

Monoid constructors

class Monoid_f m

Flip a binary constructor's type arguments

data Flip (~>) b a

biFlip

inFlip

inFlip2

inFlip3

type OI

class ToOI sink

Type application

data f :$ a

type App

biApp

inApp

inApp2

Identity

data Id a

unId

biId

inId

inId2

Constructor pairing

Unary

data (f :*: g) a

biProd

convProd

(***#)

($*)

inProd

inProd2

inProd3

Binary

data (f ::*:: g) a b

inProdd

inProdd2

Arrow between two constructor applications

data Arrw (~>) f g a

type :->:

biFun

convFun

inArrw

inArrw2

inArrw3

Augment other modules

biConst

inConst

inConst2

inConst3

biEndo

inEndo