cabal-version: 1.22 name: reflex version: 0.9.4.0 license: BSD3 license-file: LICENSE maintainer: ryan.trinkle@gmail.com author: Ryan Trinkle stability: Experimental tested-with: ghc ==8.4.4 || ==8.6.5 || ==8.8.1 || ==8.10.7 || ==9.0.1 || ==9.2.5 || ==9.4.5 || ==9.6.1 || ==9.8.2 || ==9.10.1 || ==9.12.2 homepage: https://reflex-frp.org bug-reports: https://github.com/reflex-frp/reflex/issues 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. . category: FRP build-type: Simple extra-source-files: README.md Quickref.md ChangeLog.md source-repository head type: git location: https://github.com/reflex-frp/reflex 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 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.TH 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.Base.Internal 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 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively build-depends: MemoTrie == 0.6.* , base >= 4.11 && < 4.22 , bifunctors >= 5.2 && < 5.7 , comonad >= 5.0.4 && < 5.1 , commutative-semigroups >= 0.1 && <0.3 , constraints >= 0.10 && <0.15 , constraints-extras >= 0.3 && < 0.5 , containers >= 0.6 && < 0.8 , data-default >= 0.5 && < 0.9 , dependent-map >= 0.3 && < 0.5 , dependent-sum >= 0.6 && < 0.8 , exceptions >= 0.10 && < 0.11 , exception-transformers >= 0.4 && < 0.5 , mmorph >= 1.0 && < 1.3 , monad-control >= 1.0.1 && < 1.1 , mtl >= 2.1 && < 2.4 , patch >= 0.0.7 && < 0.1 , prim-uniq >= 0.1.0.1 && < 0.3 , primitive >= 0.5 && < 0.10 , profunctors >= 5.3 && < 5.7 , random >= 1.1 && < 1.4 , ref-tf >= 0.4 && < 0.6 , reflection == 2.1.* , semigroupoids >= 4.0 && < 7 , stm >= 2.4 && < 2.6 , syb >= 0.5 && < 0.8 , time >= 1.4 && < 1.15 , transformers >= 0.5 && < 0.7 , unbounded-delays >= 0.1.0.0 && < 0.2 , witherable >= 0.4 && < 0.6 , haskell-src-exts >= 1.16 && < 1.24 , haskell-src-meta >= 0.6 && < 0.9 , template-haskell >= 2.9 && < 2.24 other-extensions: TemplateHaskell if flag(split-these) build-depends: these >=1 && <1.3 , semialign >=1 && <1.4 , monoidal-containers >=0.6.2.0 && <0.7 else build-depends: these >=0.4 && <0.9 , monoidal-containers ==0.4.0.0 if flag(debug-trace-events) cpp-options: -DDEBUG_TRACE_EVENTS build-depends: bytestring >=0.10.8 && <0.11 if flag(debug-propagation) cpp-options: -DDEBUG -DDEBUG_TRACE_PROPAGATION -DDEBUG_TRACE_INVALIDATION if flag(debug-cycles) cpp-options: -DDEBUG_CYCLES if flag(fast-weak) && impl(ghcjs >=0) cpp-options: -DGHCJS_FAST_WEAK if impl(ghcjs) build-depends: ghcjs-base >=0.2 && <0.3 test-suite semantics type: exitcode-stdio-1.0 main-is: semantics.hs hs-source-dirs: test other-modules: Reflex.Bench.Focused Reflex.Plan.Pure Reflex.Plan.Reflex Reflex.Test Reflex.Test.Micro Reflex.TestPlan default-language: Haskell2010 ghc-options: -O2 -Wall -rtsopts build-depends: base >= 4.11 && < 4.22 , bifunctors , containers , deepseq , dependent-map , dependent-sum , mtl , ref-tf , reflex , split , transformers test-suite CrossImpl type: exitcode-stdio-1.0 main-is: Reflex/Test/CrossImpl.hs hs-source-dirs: test other-modules: Reflex.Test Reflex.TestPlan Reflex.Plan.Reflex Reflex.Plan.Pure default-language: Haskell2010 ghc-options: -O2 -Wall -rtsopts build-depends: base >= 4.11 && < 4.22 , containers , dependent-map , dependent-sum , deepseq , mtl , transformers , ref-tf , reflex test-suite hlint type: exitcode-stdio-1.0 main-is: hlint.hs hs-source-dirs: test default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , directory , filepath , filemanip if impl(ghc >=9.6) buildable: False if impl(ghc <9.2) build-depends: hlint (<2.1 || >=2.2.2) && <3.5 else build-depends: hlint >=3.5 && <3.6 if impl(ghcjs >=0) || arch(javascript) buildable: False test-suite EventWriterT type: exitcode-stdio-1.0 main-is: EventWriterT.hs hs-source-dirs: test other-modules: Test.Run default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , containers , deepseq , dependent-map , dependent-sum , lens , mtl , these , transformers , reflex , ref-tf if flag(split-these) build-depends: these-lens test-suite DebugCycles type: exitcode-stdio-1.0 main-is: DebugCycles.hs hs-source-dirs: test other-modules: Test.Run default-language: Haskell2010 ghc-options: -threaded build-depends: base >= 4.11 && < 4.22 , containers , deepseq , dependent-map , dependent-sum , hspec , lens , mtl , these , transformers , reflex , ref-tf , witherable if flag(split-these) build-depends: these-lens , semialign test-suite RequesterT type: exitcode-stdio-1.0 main-is: RequesterT.hs hs-source-dirs: test other-modules: Reflex.TestPlan Reflex.Plan.Pure Test.Run default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , 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 test-suite Headless type: exitcode-stdio-1.0 main-is: Headless.hs hs-source-dirs: test default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , reflex test-suite Adjustable type: exitcode-stdio-1.0 main-is: Adjustable.hs hs-source-dirs: test other-modules: Test.Run default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , containers , dependent-sum , reflex , ref-tf , these test-suite QueryT type: exitcode-stdio-1.0 main-is: QueryT.hs hs-source-dirs: test other-modules: Test.Run Reflex.TestPlan Reflex.Plan.Reflex Reflex.Plan.Pure default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , commutative-semigroups , 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 test-suite GC-Semantics type: exitcode-stdio-1.0 main-is: GC.hs hs-source-dirs: test other-modules: Reflex.Plan.Pure Reflex.Plan.Reflex Reflex.TestPlan Test.Run default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , containers , dependent-sum , dependent-map , deepseq , mtl , patch , these , transformers , reflex , ref-tf if flag(split-these) build-depends: semialign test-suite rootCleanup type: exitcode-stdio-1.0 main-is: rootCleanup.hs hs-source-dirs: test other-modules: Reflex.Plan.Pure Reflex.TestPlan Test.Run default-language: Haskell2010 build-depends: base >= 4.11 && < 4.22 , containers , deepseq , dependent-sum , mtl , reflex , ref-tf , these benchmark spider-bench type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: bench test other-modules: Reflex.TestPlan Reflex.Plan.Reflex Reflex.Bench.Focused default-language: Haskell2010 ghc-options: -Wall -O2 -rtsopts build-depends: base >= 4.11 && < 4.22 , containers , criterion , deepseq , dependent-map , dependent-sum , ref-tf , mtl , primitive , reflex , split , stm , transformers if arch(javascript) buildable: False benchmark saulzar-bench type: exitcode-stdio-1.0 main-is: RunAll.hs c-sources: bench-cbits/checkCapability.c hs-source-dirs: bench test other-modules: Reflex.TestPlan Reflex.Plan.Reflex Reflex.Bench.Focused default-language: Haskell2010 ghc-options: -Wall -O2 -rtsopts -threaded build-depends: base >= 4.11 && < 4.22 , containers , criterion , deepseq , dependent-map , dependent-sum , loch-th , mtl , primitive , process , ref-tf , reflex , split , stm , time , transformers if arch(javascript) buildable: False