Signals

Signal{T}

A signal of types

abstract Signal{T}

Input{T}

type Input{T} <: Signal{T} ... end
i = Input(0)    # Construct an input signal of integers with the default value 0

Node{T}

abstract Node{T} <: Signal{T}

Transforming signals

lift

@lift

Example:

z = @lift x*y

Here when x and y are signals, the above expression is equivalent to:

z = lift((a,b) -> a*b, x, y)

If, say, only x is a signal, then it is equivalent to:

z = lift(a -> a*y, x)

You can also create signals of tuples or arrays:

# E.g.
z = @lift (x, 2y, x*y)
# z is now a Signal{Tuple}

State

foldl

foldr

Filters and Gates

filter

dropif

droprepeats

keepwhen

dropwhen

Sample and Merge

sampleon

merge

Timed Signals

fps

fpswhen

every

timestamp