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]

Flags

Manual Flags

NameDescriptionDefault
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
NameDescriptionDefault
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

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'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

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 (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 && <0.4), containers (>=0.6 && <0.7), data-default (>=0.5 && <0.8), dependent-map (>=0.3 && <0.4), dependent-sum (>=0.6 && <0.7), exception-transformers (>=0.4 && <0.5), ghcjs-base, haskell-src-exts (>=1.16 && <1.23), haskell-src-meta (>=0.6 && <0.9), lens (>=4.7 && <5), MemoTrie (>=0.6 && <0.7), 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.2), primitive (>=0.5 && <0.8), profunctors (>=5.3 && <5.6), 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.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
Revised Revision 1 made by phadej at 2022-09-15T18:54:33Z
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 2020-01-22T17:59:20Z
Distributions NixOS:0.9.3.0
Reverse Dependencies 44 direct, 3 indirect [details]
Downloads 19253 total (149 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 2020-01-22 [all 1 reports]

Readme for reflex-0.6.4

[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

Use the ./scripts/hack-on reflex script in Reflex Platform to checkout the source code of reflex locally in reflex-platform/reflex directory. Then do modifications to the source in place, and use the ./try-reflex or ./scripts/work-on scripts to create the shell to test your changes.