reflex: Higher-order Functional Reactive Programming
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.
Reflex is a fully-deterministic, higher-order Functional Reactive Programming interface and an engine that efficiently implements that interface.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Control
- Data
- Data.AppendMap
- Data.FastMutableIntMap
- Data.FastWeakBag
- Functor
- Data.Functor.Misc
- Map
- Data.WeakBag
- Reflex
- Adjustable
- BehaviorWriter
- Reflex.Class
- Reflex.Collection
- Reflex.Dynamic
- Reflex.DynamicWriter
- Reflex.EventWriter
- Reflex.FastWeak
- Reflex.FunctorMaybe
- Host
- Reflex.Network
- NotReady
- Reflex.Optimizer
- Reflex.Patch
- Reflex.Patch.Class
- Reflex.Patch.DMap
- Reflex.Patch.DMapWithMove
- Reflex.Patch.IntMap
- Reflex.Patch.Map
- Reflex.Patch.MapWithMove
- PerformEvent
- PostBuild
- Reflex.Profiled
- Reflex.Pure
- Query
- Requester
- Reflex.Spider
- Reflex.Time
- TriggerEvent
- Widget
- Reflex.Workflow
Flags
Manual Flags
Name | Description | Default |
---|---|---|
use-reflex-optimizer | Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental. | Disabled |
use-template-haskell | Use template haskell to generate lenses | Enabled |
debug-trace-events | Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow! | Disabled |
fast-weak | Use the primitive implementation of FastWeak in GHCJS; note that this requires GHCJS to be built with FastWeak and FastWeakBag present in the RTS, which is not the default | Disabled |
debug-propagation | Enable debugging of spider internals | Disabled |
debug-cycles | Enable debugging of event cycles | Disabled |
Automatic Flags
Name | Description | Default |
---|---|---|
split-these | Use split these/semialign packages | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- reflex-0.9.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Versions [RSS] | 0.0.1, 0.1.0, 0.1.1, 0.2, 0.3, 0.3.1, 0.3.2, 0.4.0, 0.4.0.1, 0.5, 0.5.0.1, 0.6, 0.6.1, 0.6.2.1, 0.6.2.3, 0.6.2.4, 0.6.3, 0.6.4, 0.6.4.1, 0.7.0.0, 0.7.1.0, 0.7.1.1, 0.7.2.0, 0.8.0.0, 0.8.1.0, 0.8.1.1, 0.8.2.0, 0.8.2.1, 0.8.2.2, 0.9.0.0, 0.9.0.1, 0.9.1.0, 0.9.2.0, 0.9.3.0, 0.9.3.1 (info) |
---|---|
Change log | ChangeLog.md |
Dependencies | base (>=4.11 && <4.19), bifunctors (>=5.2 && <5.7), commutative-semigroups (>=0.1 && <0.2), comonad (>=5.0.4 && <5.1), constraints (>=0.10 && <0.14), constraints-extras (>=0.3 && <0.5), containers (>=0.6 && <0.7), data-default (>=0.5 && <0.8), dependent-map (>=0.3 && <0.5), dependent-sum (>=0.6 && <0.8), exception-transformers (>=0.4 && <0.5), exceptions (>=0.10 && <0.11), ghcjs-base (>=0.2 && <0.3), haskell-src-exts (>=1.16 && <1.24), haskell-src-meta (>=0.6 && <0.9), lens (>=4.7 && <5.3), MemoTrie (>=0.6 && <0.7), mmorph (>=1.0 && <1.3), monad-control (>=1.0.1 && <1.1), monoidal-containers (==0.4.0.0 || >=0.6.2.0 && <0.7), mtl (>=2.1 && <2.4), patch (>=0.0.7 && <0.1), prim-uniq (>=0.1.0.1 && <0.3), primitive (>=0.5 && <0.8), profunctors (>=5.3 && <5.7), random (>=1.1 && <1.3), ref-tf (>=0.4 && <0.6), reflection (>=2.1 && <2.2), semialign (>=1 && <1.4), semigroupoids (>=4.0 && <7), stm (>=2.4 && <2.6), syb (>=0.5 && <0.8), template-haskell (>=2.9 && <2.21), these (>=0.4 && <0.9 || >=1 && <1.3), time (>=1.4 && <1.13), transformers (>=0.5 && <0.7), unbounded-delays (>=0.1.0.0 && <0.2), witherable (>=0.4 && <0.5) [details] |
Tested with | ghc ==8.4.4 || ==8.6.5 || ==8.8.1 || ==8.10.7 || ==9.0.1 || ==9.2.5 || ==9.4.5 || ==9.6.1, ghcjs ==8.6 || ==8.10 |
License | BSD-3-Clause |
Author | Ryan Trinkle |
Maintainer | ryan.trinkle@gmail.com |
Category | FRP |
Home page | https://reflex-frp.org |
Bug tracker | https://github.com/reflex-frp/reflex/issues |
Source repo | head: git clone https://github.com/reflex-frp/reflex |
Uploaded | by abrar at 2023-07-07T20:51:51Z |
Distributions | NixOS:0.9.3.0 |
Reverse Dependencies | 44 direct, 3 indirect [details] |
Downloads | 20305 total (192 in the last 30 days) |
Rating | 2.75 (votes: 13) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |