Safe Haskell | None |
---|---|

Language | Haskell2010 |

- data T a b = Cons {}
- consChecked :: (Read a, Read b) => String -> a -> b -> T a b
- consShorten :: (Transform a, Transform b) => a -> b -> T a b
- arrowFirst :: Arrow arrow => arrow a b -> arrow (T a c) (T b c)
- arrowSecond :: Arrow arrow => arrow a b -> arrow (T c a) (T c b)
- arrowFirstShorten :: (Arrow arrow, Transform b, Transform c) => arrow a b -> arrow (T a c) (T b c)
- arrowSecondShorten :: (Arrow arrow, Transform b, Transform c) => arrow a b -> arrow (T c a) (T c b)
- arrowFanout :: Arrow arrow => arrow a b -> arrow a c -> arrow a (T b c)
- arrowSplit :: Arrow arrow => arrow a c -> arrow b d -> arrow (T a b) (T c d)
- arrowFanoutShorten :: (Arrow arrow, Transform a, Transform b, Transform c) => arrow a b -> arrow a c -> arrow a (T b c)
- arrowSplitShorten :: (Arrow arrow, Transform a, Transform b, Transform c, Transform d) => arrow a c -> arrow b d -> arrow (T a b) (T c d)

# Documentation

Parallel combination of two signals of equal length.

consChecked :: (Read a, Read b) => String -> a -> b -> T a b Source #

Zip together two signals. It is a checked error if their lengths differ.

consShorten :: (Transform a, Transform b) => a -> b -> T a b Source #

Zip together two signals and shorten them to the length of the shorter one.

arrowFirstShorten :: (Arrow arrow, Transform b, Transform c) => arrow a b -> arrow (T a c) (T b c) Source #

arrowSecondShorten :: (Arrow arrow, Transform b, Transform c) => arrow a b -> arrow (T c a) (T c b) Source #

arrowFanout :: Arrow arrow => arrow a b -> arrow a c -> arrow a (T b c) Source #