concat-examples-0.3.0.0: Some examples of compiling to categories
Safe HaskellSafe-Inferred
LanguageHaskell2010

ConCat.Shaped

Description

Vectors and functor exponentiations via type families.

Synopsis

Documentation

type family LVec n where ... Source #

Left-associated vector

Equations

LVec Z = U1 
LVec (S n) = LVec n :*: Par1 

type family RVec n where ... Source #

Right-associated vector

Equations

RVec Z = U1 
RVec (S n) = Par1 :*: RVec n 

type family LPow h n where ... Source #

Left-associated functor exponentiation

Equations

LPow h Z = Par1 
LPow h (S n) = LPow h n :.: h 

type family RPow h n where ... Source #

Right-associated functor exponentiation

Equations

RPow h Z = Par1 
RPow h (S n) = h :.: RPow h n 

type LBin n = LPow Pair n Source #

type RBin n = RPow Pair n Source #

type family Bush n where ... Source #

Equations

Bush Z = Pair 
Bush (S n) = Bush n :.: Bush n 

type family Bush' n where ... Source #

Equations

Bush' Z = U1 
Bush' (S n) = Par1 :*: (Bush' n :.: Bush' n) 

type family LFin n where ... Source #

[0..n-1], left version

Equations

LFin Z = Void 
LFin (S n) = LFin n :+ () 

type family RFin n where ... Source #

[0..n-1], right version

Equations

RFin Z = Void 
RFin (S n) = () :+ RFin n