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.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, haskell-src-exts (>=1.16 && <1.24), 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.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]
License BSD-3-Clause
Author Ryan Trinkle
Maintainer ryan.trinkle@gmail.com
Revised Revision 1 made by phadej at 2022-09-15T18:54:34Z
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-06-16T00:30:42Z
Distributions NixOS:0.9.3.0
Reverse Dependencies 44 direct, 3 indirect [details]
Downloads 19412 total (171 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-06-16 [all 1 reports]

Readme for reflex-0.7.1.1

[back to package description]

Reflex

Haskell Hackage Hackage CI BSD3 License

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.