reflex-frp/reflex
Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse. observed · 2026-09-01
Health v2 · maintenance only
79/100
- Activity 100
- Release rhythm 41
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 70.0
- age_days: 4315
- days_rel: 317
- days_push: 4
- n_releases_24m: 5
Adoption not part of the score
1115 stars · 151 forks observed · 2026-09-01
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Reflex is a Haskell library providing a fully-deterministic, higher-order Functional Reactive Programming (FRP) interface with an efficient engine implementing it. It lets developers describe interactive systems as pure functions using composable events and time-varying values, without callbacks or side-effects.
Use cases
- write interactive programs without callbacks or side-effects
- build self-updating user interfaces in Haskell
- model time-varying data and event streams reactively
- develop cross-platform apps (web, mobile, desktop) in one codebase
- reduce bugs in event-driven code with pure functional reactive design
- build single-page web apps with reflex-dom on top of Reflex
When to choose
- you program in Haskell and want deterministic, composable handling of events and dynamic values
- you want to build highly interactive UIs (e.g., with reflex-dom or Obelisk) without callback spaghetti
- you need one Haskell codebase across web, mobile, and desktop
- you value maintainability and reusability of reactive code
When to avoid
- your team does not know Haskell or functional programming
- you need a quick JavaScript/TypeScript frontend with a large ecosystem
- your project is simple enough that FRP abstractions add unnecessary complexity
- you need non-deterministic or imperative event handling
Facets
library · maturity active
state-management concurrency developer-tools web-development cross-platform programming-languages cross-platform frp haskell reactive-programming events time-varying-values deterministic functional-reactive-programming web-server desktop mobile
2 sources
- readme: https://github.com/reflex-frp/reflex · fetched 2026-09-01 · db85eeb993c0
- homepage: https://reflex-frp.org · fetched 2026-08-29 · 36ae7a711f52
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| reflex-frp/reflex | main | 79 |
For agents
markdown · JSON · MCP: product_card(name="reflex-frp/reflex")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem