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.8.1.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
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.15), bifunctors (>=5.2 && <5.6), comonad (>=5.0.4 && <5.1), constraints-extras (>=0.3 && <0.4), 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), ghcjs-base (>=0.2 && <0.3), haskell-src-exts (>=1.16 && <1.24), haskell-src-meta (>=0.6 && <0.9), lens (>=4.7 && <5), MemoTrie (>=0.6 && <0.7), mmorph (>=1.0 && <1.2), monad-control (>=1.0.1 && <1.1), monoidal-containers (==0.4.0.0 || >=0.6 && <0.7), mtl (>=2.1 && <2.3), patch (>=0.0.1 && <0.0.7), prim-uniq (>=0.1.0.1 && <0.3), primitive (>=0.5 && <0.8), profunctors (>=5.3 && <5.7), random (>=1.1 && <1.2), ref-tf (>=0.4 && <0.5), reflection (>=2.1 && <2.2), semialign (>=1 && <1.2), semigroupoids (>=4.0 && <6), stm (>=2.4 && <2.6), syb (>=0.5 && <0.8), template-haskell (>=2.9 && <2.17), these (>=0.4 && <0.9 || >=1 && <1.2), time (>=1.4 && <1.10), transformers (>=0.5.6.0 && <0.6), unbounded-delays (>=0.1.0.0 && <0.2), witherable (>=0.3 && <0.4) [details] |
Tested with | ghc ==8.4.4 || ==8.6.5 || ==8.8.1 || ==8.10.2, ghcjs ==8.6 |
License | BSD-3-Clause |
Author | Ryan Trinkle |
Maintainer | ryan.trinkle@gmail.com |
Revised | Revision 1 made by phadej at 2022-09-15T18:54:35Z |
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 JohnEricson at 2021-09-10T22:00:19Z |
Distributions | NixOS:0.9.3.1 |
Reverse Dependencies | 44 direct, 3 indirect [details] |
Downloads | 20350 total (121 in the last 30 days) |
Rating | 2.75 (votes: 13) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2021-09-11 [all 1 reports] |