CCA-0.1.5.3: preprocessor and library for Causal Commutative Arrows (CCA)
Control.CCA.CCNF
norm :: ASyn t t1 -> ExpQ Source
normOpt :: ASyn t t1 -> ExpQ Source
pprNorm :: ASyn t t1 -> Q Exp Source
pprNormOpt :: ASyn t t1 -> Q Exp Source
printCCA :: ASyn t t1 -> IO () Source
data ASyn b c Source
Instances
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