reflex/reflex.cabal
2019-10-21 13:47:00 +03:00

401 lines
9.0 KiB
Plaintext

Name: reflex
Version: 0.6.2.4
Synopsis: Higher-order Functional Reactive Programming
Description: Reflex is a high-performance, deterministic, higher-order Functional Reactive Programming system
License: BSD3
License-file: LICENSE
Author: Ryan Trinkle
Maintainer: ryan.trinkle@gmail.com
Stability: Experimental
Category: FRP
Build-type: Simple
Cabal-version: >=1.9.2
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.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5,
GHCJS ==8.4
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 split-these
description: Use split these/semialign packages
manual: False
default: True
library
hs-source-dirs: src
build-depends:
MemoTrie == 0.6.*,
base >= 4.9 && < 4.13,
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.4,
exception-transformers == 0.4.*,
profunctors >= 5.3 && < 5.5,
lens >= 4.7 && < 5,
monad-control >= 1.0.1 && < 1.1,
mtl >= 2.1 && < 2.3,
prim-uniq >= 0.1.0.1 && < 0.2,
primitive >= 0.5 && < 0.8,
profunctors,
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.9,
transformers >= 0.5.6.0 && < 0.6,
unbounded-delays >= 0.1.0.0 && < 0.2,
witherable >= 0.3 && < 0.3.2
if flag(split-these)
build-depends: these >= 1 && <1.1,
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.Functor.Misc,
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.Network,
Reflex.NotReady.Class,
Reflex.Patch,
Reflex.Patch.Class,
Reflex.Patch.DMap,
Reflex.Patch.DMapWithMove,
Reflex.Patch.IntMap,
Reflex.Patch.Map,
Reflex.Patch.MapWithMove,
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
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
if flag(use-reflex-optimizer)
cpp-options: -DUSE_REFLEX_OPTIMIZER
build-depends: ghc
exposed-modules: Reflex.Optimizer
if flag(use-template-haskell)
cpp-options: -DUSE_TEMPLATE_HASKELL
build-depends:
dependent-sum >= 0.6 && < 0.7,
haskell-src-exts >= 1.16 && < 1.22,
haskell-src-meta >= 0.6 && < 0.9,
template-haskell >= 2.9 && < 2.15
exposed-modules:
Reflex.Dynamic.TH
other-extensions: TemplateHaskell
else
build-depends:
dependent-sum >= 0.6 && < 0.7
if flag(fast-weak) && impl(ghcjs)
cpp-options: -DGHCJS_FAST_WEAK
if impl(ghcjs)
build-depends: ghcjs-base
test-suite semantics
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
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
type: exitcode-stdio-1.0
main-is: hlint.hs
hs-source-dirs: test
build-depends: base
, directory
, filepath
, filemanip
, hlint < 2.1 || >= 2.2.2
if impl(ghcjs)
buildable: False
test-suite EventWriterT
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:
Reflex.Test
Reflex.TestPlan
Reflex.Plan.Reflex
Reflex.Plan.Pure
Test.Run
test-suite RequesterT
type: exitcode-stdio-1.0
main-is: RequesterT.hs
hs-source-dirs: test
build-depends: base
, containers
, deepseq
, dependent-sum
, dependent-map
, lens
, mtl
, these
, transformers
, reflex
, ref-tf
if flag(split-these)
build-depends: these-lens
other-modules:
Reflex.TestPlan
Reflex.Plan.Pure
Test.Run
test-suite QueryT
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
, 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
type: exitcode-stdio-1.0
main-is: GC.hs
hs-source-dirs: test
build-depends: base
, containers
, dependent-sum
, dependent-map
, deepseq
, mtl
, 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
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
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
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