mirror of
https://github.com/ilyakooo0/reflex.git
synced 2024-10-04 05:37:09 +03:00
501 lines
12 KiB
Plaintext
501 lines
12 KiB
Plaintext
Name: reflex
|
|
Version: 0.8.2.0
|
|
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.
|
|
.
|
|
<https://reflex-frp.org>
|
|
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,
|
|
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.15,
|
|
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,
|
|
mmorph >= 1.0 && < 1.2,
|
|
monad-control >= 1.0.1 && < 1.1,
|
|
mtl >= 2.1 && < 2.3,
|
|
patch >= 0.0.1 && < 0.1,
|
|
prim-uniq >= 0.1.0.1 && < 0.3,
|
|
primitive >= 0.5 && < 0.8,
|
|
profunctors >= 5.3 && < 5.7,
|
|
random == 1.1.*,
|
|
ref-tf == 0.4.*,
|
|
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.2,
|
|
semialign >=1 && <1.2,
|
|
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.17
|
|
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
|