(download original Yampa switch.svg)
A switch in Yampa provides change of behavior of signal functions (SF) during runtime. The
switch :: SF in (out, Event t) -> (t -> SF in out) -> SF in out
switchfunction is the simplest form which can only be switched once. The signature is read like this: "Be a SF which is always fed a signal of type 'in' and returns a signal of type 'out'. Start with an initial SF of the same type but which may also return a transition event of type 'Event t'. In case of an Event, Yampa feeds the variable 't' to the continuation function 'k' which produces the new SF based on the variable 't', again with the same input and output types."