reflex-dom: Functional Reactive Web Apps with Reflex

[ bsd3, frp, gui, html, javascript, library, reactive, reactivity, user-interface, user-interfaces, web ] [ Propose Tags ]

Web applications without callbacks or side-effects. Reflex-DOM brings the power of functional reactive programming (FRP) to the web. Build HTML and other Document Object Model (DOM) data with a pure functional interface.

Reflex-DOM is a Functional Reactive web framework based on the Reflex FRP engine: https://reflex-frp.org/.

The reflex-dom package is a small wrapper around the reflex-dom-core package. It pulls in the correct set of dependencies for each target platform (GHCJS, WebKitGTK, WASM, mobile, etc.). Libraries should depend on reflex-dom-core and executables will usually depend on reflex-dom. All of reflex-dom-core's modules are re-exported by reflex-dom.

For Hackage documentation, please see: https://hackage.haskell.org/package/reflex-dom-core.

Modules

[Last Documentation]

  • Foreign
    • JavaScript
      • Foreign.JavaScript.Orphans
      • Foreign.JavaScript.TH
      • Foreign.JavaScript.Utils
  • Reflex
    • Reflex.Dom
      • Builder
        • Reflex.Dom.Builder.Class
          • Reflex.Dom.Builder.Class.Events
        • Reflex.Dom.Builder.Hydratable
        • Reflex.Dom.Builder.Immediate
        • Reflex.Dom.Builder.InputDisabled
        • Reflex.Dom.Builder.Static
      • Reflex.Dom.Class
      • Reflex.Dom.Core
      • Reflex.Dom.Internal
      • Reflex.Dom.Location
        • Reflex.Dom.Location.Platform
      • Reflex.Dom.Main
      • Modals
        • Reflex.Dom.Modals.Class
      • Reflex.Dom.Old
      • Reflex.Dom.Prerender
      • Reflex.Dom.Time
      • Reflex.Dom.WebSocket
        • Reflex.Dom.WebSocket.Query
      • Reflex.Dom.Widget
        • Reflex.Dom.Widget.Basic
        • Reflex.Dom.Widget.Input
        • Reflex.Dom.Widget.Lazy
        • Reflex.Dom.Widget.Resize
      • Reflex.Dom.Xhr
        • Reflex.Dom.Xhr.FormData

Flags

Manual Flags

NameDescriptionDefault
use-warp

Use jsaddle-warp server

Disabled
use-reflex-optimizer

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

Disabled
expose-all-unfoldings

Build the library with -fexpose-all-unfoldings which can help client code specialize better

Disabled
build-examples

Build the executables in ./examples

Disabled
wasm32

Build for wasm32 architecture

Disabled
Automatic Flags
NameDescriptionDefault
webkit2gtk

Use WebKit2 version of WebKitGTK.

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.1, 0.1.1, 0.2, 0.3, 0.4, 0.5, 0.5.2.0, 0.5.3, 0.6.0.0, 0.6.1.0, 0.6.1.1, 0.6.2.0, 0.6.3.0, 0.6.3.1 (info)
Change log ChangeLog.md
Dependencies aeson (>=1.4 && <2.2), android-activity (>=0.2 && <0.3), base (>=4.7 && <4.15), bytestring (>=0.10 && <0.11), containers, data-default (>=0.7 && <0.8), dependent-map, dependent-sum, ghc-prim, ghcjs-dom, jsaddle (>=0.9.6 && <0.10), jsaddle-webkit2gtk (>=0.9.6 && <0.10), jsaddle-wkwebview (>=0.9.6 && <0.10), lens, mtl, prim-uniq, random, reflex (>=0.8 && <1), reflex-dom, reflex-dom-core (>=0.8.1.0 && <0.9), text (>=1.2 && <1.3), time, transformers, vector [details]
License BSD-3-Clause
Author Ryan Trinkle
Maintainer ryan.trinkle@gmail.com
Revised Revision 1 made by abrar at 2023-09-23T18:33:53Z
Category FRP, Web, GUI, HTML, Javascript, Reactive, Reactivity, User Interfaces, User-interface
Source repo head: git clone https://github.com/reflex-frp/reflex-dom(reflex-dom)
Uploaded by abrar at 2023-09-08T14:24:42Z
Distributions NixOS:0.6.3.1
Reverse Dependencies 9 direct, 2 indirect [details]
Executables krausest, benchmark, sortableList
Downloads 6849 total (45 in the last 30 days)
Rating 2.5 (votes: 6) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2023-09-08 [all 2 reports]