reflex: Higher-order Functional Reactive Programming

[ bsd3, frp, library ] [ Propose Tags ]

Reflex is a high-performance, deterministic, higher-order Functional Reactive Programming system


[Skip to Readme]
Versions [faq] 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 (info)
Change log ChangeLog.md
Dependencies base (>=4.9 && <4.14), bifunctors (>=5.2 && <5.6), comonad (>=5.0.4 && <5.1), constraints-extras (==0.3.*), containers (==0.6.*), data-default (>=0.5 && <0.8), dependent-map (==0.3.*), dependent-sum (==0.6.*), exception-transformers (==0.4.*), ghcjs-base, haskell-src-exts (>=1.16 && <1.23), haskell-src-meta (>=0.6 && <0.9), lens (>=4.7 && <5), MemoTrie (==0.6.*), monad-control (>=1.0.1 && <1.1), monoidal-containers (==0.4.0.0 || ==0.6.*), mtl (>=2.1 && <2.3), patch (>=0.0.1 && <0.1), prim-uniq (>=0.1.0.1 && <0.2), primitive (>=0.5 && <0.8), profunctors (>=5.3 && <5.6), random (==1.1.*), ref-tf (==0.4.*), reflection (==2.1.*), semialign (>=1 && <1.2), semigroupoids (>=4.0 && <6), stm (>=2.4 && <2.6), syb (>=0.5 && <0.8), template-haskell (>=2.9 && <2.16), these (>=0.4 && <0.9 || >=1 && <1.1), time (>=1.4 && <1.10), transformers (>=0.5.6.0 && <0.6), unbounded-delays (>=0.1.0.0 && <0.2), witherable (>=0.3 && <0.3.2) [details]
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 3noch at 2020-05-07T21:57:03Z
Distributions NixOS:0.7.1.0
Downloads 11883 total (388 in the last 30 days)
Rating 2.75 (votes: 13) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index] [Quick Jump]

Flags

NameDescriptionDefaultType
use-reflex-optimizer

Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.

DisabledManual
use-template-haskell

Use template haskell to generate lenses

EnabledManual
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!

DisabledManual
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

DisabledManual
debug-propagation

Enable debugging of spider internals

DisabledManual
debug-cycles

Enable debugging of event cycles

DisabledManual
split-these

Use split these/semialign packages

EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for reflex-0.7.1.0

[back to package description]

Reflex

Hackage

Practical Functional Reactive Programming

Reflex is a fully-deterministic, higher-order Functional Reactive Programming (FRP) interface and an engine that efficiently implements that interface.

Reflex-DOM is a framework built on Reflex that facilitates the development of web pages, including highly-interactive single-page apps.

A summary of Reflex functions is available in the quick reference.

Visit https://reflex-frp.org/ for more information, tutorials, documentation and examples.

Resources

Get started with Reflex

/r/reflexfrp

irc.freenode.net #reflex-frp

Hacking

From the root of a Reflex Platform checkout, run ./scripts/hack-on haskell-overlays/reflex-packages/dep/reflex. This will check out the reflex source code into the haskell-overlays/reflex-packages/dep/reflex directory. You can then point that checkout at your fork, make changes, etc. Use the ./try-reflex or ./scripts/work-on scripts to start a shell in which you can test your changes.