liveBook · Manning

Signal

As explained in Functional Design and Architecture: Examples in Haskell

A signal is a time-varying value in a functional reactive system whose changes can drive dependent computations.

A signal, also called a behavior, is a time-varying value in functional reactive programming. When another value depends on it, that dependent value updates automatically as the signal changes. section 2.1.2

Events can be represented as signals because they may occur, change, repeat, or disappear over time. Logic can be bound to a signal as a reaction, allowing signals and actions to form a reactive network. section 2.1.2

Reactive streams serve similar goals but model continuous time-ordered event streams that can be mapped, merged, divided, and zipped. Signals instead emphasize time-dependent values and automatically updated dependencies. section 2.1.2

How Functional Design and Architecture: Examples in Haskell covers it

How deep it goes
Defines signals through time variation, dependency updates, event mapping, and bound actions without detailing an implementation.
Examples
Uses GUIs and complex business logic as applications for reactive networks of signals and actions.
What you can do after
Evaluate/understand signals as time-dependent values that automatically propagate changes to dependent computations.
How it connects
Connects signals with functional reactive programming, events, actions, reactive networks, and reactive streams.

Also explained in

Compare how 10 books explain signal →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Functional Design and Architecture: Examples in Haskell. The section links point to the parts of the book it draws on.