CCA-0.1.5.3: preprocessor and library for Causal Commutative Arrows (CCA)

Safe HaskellNone
LanguageHaskell98

Control.CCA.CCNF

Documentation

norm :: ASyn t t1 -> ExpQ Source

normOpt :: ASyn t t1 -> ExpQ Source

pprNorm :: ASyn t t1 -> Q Exp Source

printCCA :: ASyn t t1 -> IO () Source

cross :: (t -> t2) -> (t1 -> t3) -> (t, t1) -> (t2, t3) Source

dup :: t -> (t, t) Source

swap :: (t1, t) -> (t, t1) Source

assoc :: ((t, t1), t2) -> (t, (t1, t2)) Source

unassoc :: (t1, (t2, t)) -> ((t1, t2), t) Source

juggle :: ((t1, t), t2) -> ((t1, t2), t) Source

trace :: ((t1, t2) -> (t, t2)) -> t1 -> t Source

mirror :: Either b a -> Either a b Source

untag :: Either t t -> t Source

tagT :: (Either t t1, t2) -> Either (t, t2) (t1, t2) Source

untagT :: Either (a, t) (b, t) -> (Either a b, t) Source