Skip to content

Reactive Programming

A programming paradigm that declares dependencies among changing values or events and lets an execution model propagate their effects to derived computations.

Core Idea

Reactive programming declares how changing values or events affect derived computations, then delegates propagation of those dependencies to a language or runtime. A formula remains related to its inputs when they change; it is not merely a one-time assignment followed by handwritten update calls. Push, pull and mixed evaluation are implementation variants, not separate definitions. Glitch avoidance is a desirable property but is not assured by every reactive implementation.[^ref-3ad6467ba16b]

Scope of Application

In Excel automatic calculation mode, formula precedents and dependents are tracked, and affected formulas recalculate after an input change. Manual mode can defer the same calculation until requested. In Fran interactive animation, mouse-button events change a color behavior, and a circle image composed from that behavior updates its color. Fran's functional behavior/event formulation is a narrower case of the broad paradigm, not its universal required interface.[ref-4434a33d6859][ref-3ad6467ba16b][^ref-156316df426f]

Clarity

An event handler can react without being reactive programming: if it manually assigns each output, no declared dependent computation is maintained by the execution model. Conversely, a spreadsheet formula can illustrate the dependency pattern without looking like a stream API. The paradigm also does not promise that observers never see mixed old/new intermediate values; the original survey treats glitch avoidance as a separate comparison axis and notes limits in distributed systems.[ref-3ad6467ba16b][ref-4434a33d6859]

Manages Complexity

Instead of coordinating each downstream update manually, the programmer states dependencies and the system determines affected evaluations. Microsoft's Excel engine, for example, tracks precedents, dependents and a calculation sequence for smart recalculation. This reduces application-level bookkeeping but does not remove scheduling, dynamic-dependency, recomputation or consistency costs.[ref-3ad6467ba16b][ref-4434a33d6859]

Abstract Reasoning

Identify a changing source, a declared dependent computation and its output. Change the source and ask whether the system manages the dependency's effect rather than relying on manual assignments. Then inspect the chosen evaluation timing and observation guarantee. For Excel, automatic versus manual calculation changes when the result appears; for a distributed reactive program, a no-glitch claim needs a specific consistency argument.[ref-3ad6467ba16b][ref-4434a33d6859]

Knowledge Transfer

The same dependency/propagation core works in cell formulas and composed animation behaviors, but cell references/calculation chains and Fran events/combinators are different mechanisms. Live Programming Paradigm is the proposed strict parent because the identity organizes computational entities, composition and execution semantics. Live Functional Reactive Programming is narrower. A cross-domain change-propagation skeleton is a future-prime question, not a license to call any responsive system reactive programming.[ref-3ad6467ba16b][ref-156316df426f]

[^ref-3ad6467ba16b]: Engineer Bainomugisha, Andoni Lombide Carreton, Tom Van Cutsem, Stijn Mostinckx and Wolfgang De Meuter, “A Survey on Reactive Programming”, author-hosted technical-report preprint (2012), §§1–4. [^ref-4434a33d6859]: Microsoft, “Excel performance—Improving calculation performance”, automatic/manual calculation and dependency-tracking sections. [^ref-156316df426f]: Conal Elliott and Paul Hudak, “Functional Reactive Animation”, ICFP (1997), author-hosted abstract; detailed circle-code evidence is in the inspected Bainomugisha survey.

Relationships to Other Abstractions

Local relationship map for Reactive ProgrammingParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Reactive ProgrammingDOMAINDomain-specific abstraction: Programming Paradigm — is a kind ofProgrammingParadigmDOMAIN

Current abstraction Reactive Programming Domain-specific

Parents (1) — more general patterns this builds on

  • Reactive Programming is a kind of Programming Paradigm Domain-specific

    Dependency-driven reactive composition and execution are a particular programming paradigm.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Reactive Programming sits in a sparse region of the domain-specific corpus (71st percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Cognitive & Behavioral Theories (16 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-08