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

Language | Haskell98 |

# Basic signal functions

Identity: identity = arr id

Using `identity`

is preferred over lifting id, since the arrow combinators
know how to optimise certain networks based on the transformations being
applied.

constant :: b -> SF a b Source

Identity: constant b = arr (const b)

Using `constant`

is preferred over lifting const, since the arrow combinators
know how to optimise certain networks based on the transformations being
applied.

## Initialization

(-->) :: b -> SF a b -> SF a b infixr 0 Source

Initialization operator (cf. Lustre/Lucid Synchrone).

The output at time zero is the first argument, and from that point on it behaves like the signal function passed as second argument.

(>--) :: a -> SF a b -> SF a b infixr 0 Source

Input initialization operator.

The input at time zero is the first argument, and from that point on it behaves like the signal function passed as second argument.

(-=>) :: (b -> b) -> SF a b -> SF a b infixr 0 Source

Transform initial output value.

Applies a transformation `f`

only to the first output value at
time zero.