Name: reflex Version: 0.8.2.0 x-revision: 3 Synopsis: Higher-order Functional Reactive Programming Description: 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. . License: BSD3 License-file: LICENSE Author: Ryan Trinkle Maintainer: ryan.trinkle@gmail.com Stability: Experimental Category: FRP Build-type: Simple Cabal-version: 1.22 homepage: https://reflex-frp.org bug-reports: https://github.com/reflex-frp/reflex/issues extra-source-files: README.md Quickref.md ChangeLog.md tested-with: GHC ==8.4.4 || ==8.6.5 || ==8.8.1 || ==8.10.2 || ==9.0.1, GHCJS ==8.6 flag use-reflex-optimizer description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental. default: False manual: True flag use-template-haskell description: Use template haskell to generate lenses default: True manual: True flag debug-trace-events description: Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow! default: False manual: True flag fast-weak description: 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 default: False manual: True flag debug-propagation description: Enable debugging of spider internals default: False manual: True flag debug-cycles description: Enable debugging of event cycles default: False manual: True flag split-these description: Use split these/semialign packages manual: False default: True library default-language: Haskell2010 hs-source-dirs: src build-depends: MemoTrie == 0.6.*, base >= 4.11 && < 4.16, bifunctors >= 5.2 && < 5.6, comonad >= 5.0.4 && < 5.1, constraints >= 0.10 && <0.14, constraints-extras >= 0.3 && < 0.4, containers >= 0.6 && < 0.7, data-default >= 0.5 && < 0.8, dependent-map >= 0.3 && < 0.5, exception-transformers == 0.4.*, lens >= 4.7 && < 5.1, mmorph >= 1.0 && < 1.2, monad-control >= 1.0.1 && < 1.1, 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.3, ref-tf >= 0.4 && < 0.6, reflection == 2.1.*, semigroupoids >= 4.0 && < 6, stm >= 2.4 && < 2.6, syb >= 0.5 && < 0.8, time >= 1.4 && < 1.10, transformers >= 0.5.6.0 && < 0.6, unbounded-delays >= 0.1.0.0 && < 0.2, witherable >= 0.3 && < 0.5 if flag(split-these) build-depends: these >= 1 && <1.3, semialign >=1 && <1.3, monoidal-containers >= 0.6 && < 0.7 else build-depends: these >= 0.4 && <0.9, monoidal-containers == 0.4.0.0 exposed-modules: Control.Monad.ReaderIO Data.AppendMap, Data.FastMutableIntMap, Data.FastWeakBag, Data.Map.Misc, Data.WeakBag, Reflex, Reflex.Class, Reflex.Adjustable.Class, Reflex.BehaviorWriter.Base, Reflex.BehaviorWriter.Class, Reflex.Collection, Reflex.Dynamic, Reflex.Dynamic.Uniq, Reflex.DynamicWriter, Reflex.DynamicWriter.Base, Reflex.DynamicWriter.Class, Reflex.EventWriter, Reflex.EventWriter.Base, Reflex.EventWriter.Class, Reflex.FastWeak, Reflex.FunctorMaybe, Reflex.Host.Class, Reflex.Host.Headless, Reflex.Network, Reflex.NotReady.Class, Reflex.PerformEvent.Base, Reflex.PerformEvent.Class, Reflex.PostBuild.Base, Reflex.PostBuild.Class, Reflex.Profiled, Reflex.Pure, Reflex.Query.Base, Reflex.Query.Class, Reflex.Requester.Base, Reflex.Requester.Class, Reflex.Spider, Reflex.Spider.Internal, Reflex.Time, Reflex.TriggerEvent.Base, Reflex.TriggerEvent.Class, Reflex.Widget.Basic, Reflex.Workflow reexported-modules: patch:Data.Functor.Misc, patch:Data.Patch as Reflex.Patch, patch:Data.Patch.Class as Reflex.Patch.Class, patch:Data.Patch.DMap as Reflex.Patch.DMap, patch:Data.Patch.DMapWithMove as Reflex.Patch.DMapWithMove, patch:Data.Patch.IntMap as Reflex.Patch.IntMap, patch:Data.Patch.Map as Reflex.Patch.Map, patch:Data.Patch.MapWithMove as Reflex.Patch.MapWithMove ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively if flag(debug-trace-events) cpp-options: -DDEBUG_TRACE_EVENTS build-depends: bytestring >= 0.10.8 && < 0.11 if flag(use-reflex-optimizer) cpp-options: -DUSE_REFLEX_OPTIMIZER build-depends: ghc exposed-modules: Reflex.Optimizer if flag(debug-propagation) cpp-options: -DDEBUG -DDEBUG_TRACE_PROPAGATION -DDEBUG_TRACE_INVALIDATION if flag(debug-cycles) cpp-options: -DDEBUG_CYCLES if flag(use-template-haskell) cpp-options: -DUSE_TEMPLATE_HASKELL build-depends: dependent-sum >= 0.6 && < 0.8, haskell-src-exts >= 1.16 && < 1.24, haskell-src-meta >= 0.6 && < 0.9, template-haskell >= 2.9 && < 2.18 exposed-modules: Reflex.Dynamic.TH other-extensions: TemplateHaskell else build-depends: dependent-sum >= 0.6 && < 0.8 if flag(fast-weak) && impl(ghcjs) cpp-options: -DGHCJS_FAST_WEAK if impl(ghcjs) build-depends: ghcjs-base == 0.2.* test-suite semantics default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: semantics.hs hs-source-dirs: test ghc-options: -O2 -Wall -rtsopts build-depends: base, bifunctors, containers, deepseq, dependent-map, dependent-sum, mtl, ref-tf, reflex, split, transformers other-modules: Reflex.Bench.Focused Reflex.Plan.Pure Reflex.Plan.Reflex Reflex.Test Reflex.Test.Micro Reflex.TestPlan test-suite CrossImpl default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: Reflex/Test/CrossImpl.hs hs-source-dirs: test ghc-options: -O2 -Wall -rtsopts build-depends: base, containers, dependent-map, dependent-sum, deepseq, mtl, transformers, ref-tf, reflex other-modules: Reflex.Test Reflex.TestPlan Reflex.Plan.Reflex Reflex.Plan.Pure test-suite hlint default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: hlint.hs hs-source-dirs: test build-depends: base , directory , filepath , filemanip if impl(ghc >= 8.8) build-depends: hlint >= 3 && < 4 else build-depends: hlint (< 2.1 || >= 2.2.2) && < 4 if impl(ghcjs) buildable: False test-suite EventWriterT default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: EventWriterT.hs hs-source-dirs: test build-depends: base , containers , deepseq , dependent-map , dependent-sum , lens , mtl , these , transformers , reflex , ref-tf if flag(split-these) build-depends: these-lens other-modules: Test.Run test-suite DebugCycles default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: DebugCycles.hs hs-source-dirs: test ghc-options: -threaded build-depends: base , containers , deepseq , dependent-map , dependent-sum , hspec , lens , mtl , these , transformers , reflex , ref-tf , witherable , proctest if flag(split-these) build-depends: these-lens, semialign other-modules: Test.Run test-suite RequesterT default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: RequesterT.hs hs-source-dirs: test build-depends: base , constraints , constraints-extras , containers , deepseq , dependent-map , dependent-sum , lens , mtl , ref-tf , reflex , text , these , transformers if flag(split-these) build-depends: these-lens other-modules: Reflex.TestPlan Reflex.Plan.Pure Test.Run test-suite Headless default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: Headless.hs hs-source-dirs: test build-depends: base , reflex test-suite Adjustable default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: Adjustable.hs hs-source-dirs: test build-depends: base , containers , dependent-sum , reflex , ref-tf , these other-modules: Test.Run test-suite QueryT default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: QueryT.hs hs-source-dirs: test build-depends: base , containers , dependent-map , dependent-sum , deepseq , lens , monoidal-containers , mtl , patch , ref-tf , reflex , these , transformers if flag(split-these) build-depends: semialign, these-lens other-modules: Test.Run Reflex.TestPlan Reflex.Plan.Reflex Reflex.Plan.Pure test-suite GC-Semantics default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: GC.hs hs-source-dirs: test build-depends: base , containers , dependent-sum , dependent-map , deepseq , mtl , patch , these , transformers , reflex , ref-tf if flag(split-these) build-depends: semialign other-modules: Reflex.Plan.Pure Reflex.Plan.Reflex Reflex.TestPlan Test.Run test-suite rootCleanup default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: rootCleanup.hs hs-source-dirs: test build-depends: base , containers , deepseq , dependent-sum , mtl , reflex , ref-tf , these other-modules: Reflex.Plan.Pure Reflex.TestPlan Test.Run benchmark spider-bench default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: bench test main-is: Main.hs ghc-options: -Wall -O2 -rtsopts build-depends: base, containers, criterion, deepseq, dependent-map, dependent-sum, ref-tf, mtl, primitive, reflex, split, stm, transformers other-modules: Reflex.TestPlan Reflex.Plan.Reflex Reflex.Bench.Focused benchmark saulzar-bench default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: bench test c-sources: bench-cbits/checkCapability.c main-is: RunAll.hs ghc-options: -Wall -O2 -rtsopts -threaded build-depends: base, containers, criterion, deepseq, dependent-map, dependent-sum, loch-th, mtl, primitive, process, ref-tf, reflex, split, stm, time, transformers other-modules: Reflex.TestPlan Reflex.Plan.Reflex Reflex.Bench.Focused source-repository head type: git location: https://github.com/reflex-frp/reflex