on 9493703 help sign in
patch/reflex.cabal
297 lines 7.3 kB history raw
1Name: reflex
2Version: 0.5
3Synopsis: Higher-order Functional Reactive Programming
4Description: Reflex is a high-performance, deterministic, higher-order Functional Reactive Programming system
5License: BSD3
6License-file: LICENSE
7Author: Ryan Trinkle
8Maintainer: ryan.trinkle@gmail.com
9Stability: Experimental
10Category: FRP
11Build-type: Simple
12Cabal-version: >=1.9.2
13homepage: https://reflex-frp.org
14bug-reports: https://github.com/reflex-frp/reflex/issues
16flag use-reflex-optimizer
17 description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.
18 default: False
19 manual: True
21flag use-template-haskell
22 description: Use template haskell to generate lenses
23 default: True
24 manual: True
26flag debug-trace-events
27 description: Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow!
28 default: False
29 manual: True
31flag fast-weak
32 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
33 default: False
34 manual: True
36library
37 hs-source-dirs: src
38 build-depends:
39 MemoTrie == 0.6.*,
40 base >= 4.7 && < 4.12,
41 bifunctors >= 5.2 && < 5.6,
42 comonad,
43 containers == 0.5.*,
44 data-default >= 0.5 && < 0.8,
45 dependent-map >= 0.2.4 && < 0.3,
46 exception-transformers == 0.4.*,
47 lens >= 4.7 && < 5,
48 monad-control >= 1.0.1 && < 1.1,
49 monoidal-containers >= 0.3.0.2 && < 0.4,
50 mtl >= 2.1 && < 2.3,
51 prim-uniq >= 0.1.0.1 && < 0.2,
52 primitive >= 0.5 && < 0.7,
53 random == 1.1.*,
54 ref-tf == 0.4.*,
55 reflection == 2.1.*,
56 semigroupoids >= 4.0 && < 6,
57 semigroups >= 0.16 && < 0.19,
58 stm == 2.4.*,
59 syb >= 0.5 && < 0.8,
60 these >= 0.4 && < 0.8,
61 time >= 1.4 && < 1.9,
62 transformers >= 0.2,
63 transformers-compat >= 0.3,
64 unbounded-delays >= 0.1.0.0 && < 0.2
66 exposed-modules:
67 Data.AppendMap,
68 Data.FastMutableIntMap,
69 Data.FastWeakBag,
70 Data.Functor.Misc,
71 Data.Map.Misc,
72 Data.WeakBag,
73 Reflex,
74 Reflex.Class,
75 Reflex.Collection,
76 Reflex.Dynamic,
77 Reflex.Dynamic.Uniq,
78 Reflex.DynamicWriter,
79 Reflex.DynamicWriter.Base,
80 Reflex.DynamicWriter.Class,
81 Reflex.EventWriter,
82 Reflex.EventWriter.Base,
83 Reflex.EventWriter.Class,
84 Reflex.FastWeak,
85 Reflex.FunctorMaybe,
86 Reflex.Host.Class,
87 Reflex.Network,
88 Reflex.NotReady.Class,
89 Reflex.Patch,
90 Reflex.Patch.Class,
91 Reflex.Patch.DMap,
92 Reflex.Patch.DMapWithMove,
93 Reflex.Patch.IntMap,
94 Reflex.Patch.Map,
95 Reflex.Patch.MapWithMove,
96 Reflex.PerformEvent.Base,
97 Reflex.PerformEvent.Class,
98 Reflex.PostBuild.Base,
99 Reflex.PostBuild.Class,
100 Reflex.Profiled,
101 Reflex.Pure,
102 Reflex.Query.Base,
103 Reflex.Query.Class,
104 Reflex.Requester.Base,
105 Reflex.Requester.Class,
106 Reflex.Spider,
107 Reflex.Spider.Internal,
108 Reflex.Time,
109 Reflex.TriggerEvent.Base,
110 Reflex.TriggerEvent.Class,
111 Reflex.Widget.Basic,
112 Reflex.Workflow
114 ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively -ddump-simpl -ddump-to-file -dsuppress-coercions -dsuppress-idinfo
115 ghc-prof-options: -fprof-auto
117 if flag(debug-trace-events)
118 cpp-options: -DDEBUG_TRACE_EVENTS
119 build-depends: bytestring
121 if flag(use-reflex-optimizer)
122 cpp-options: -DUSE_REFLEX_OPTIMIZER
123 build-depends: ghc
124 exposed-modules: Reflex.Optimizer
126 if flag(use-template-haskell)
127 cpp-options: -DUSE_TEMPLATE_HASKELL
128 build-depends:
129 dependent-sum >= 0.3 && < 0.5,
130 haskell-src-exts >= 1.16 && < 1.21,
131 haskell-src-meta >= 0.6 && < 0.9,
132 template-haskell >= 2.9 && < 2.14
133 exposed-modules:
134 Reflex.Dynamic.TH
135 other-extensions: TemplateHaskell
136 else
137 build-depends:
138 dependent-sum == 0.4.*
140 if flag(fast-weak) && impl(ghcjs)
141 ghc-options: -DGHCJS_FAST_WEAK
143 if impl(ghcjs)
144 build-depends: ghcjs-base
146test-suite semantics
147 type: exitcode-stdio-1.0
148 main-is: semantics.hs
149 hs-source-dirs: test
150 ghc-options: -O2 -Wall -rtsopts
151 build-depends:
152 base,
153 bifunctors,
154 containers,
155 deepseq >= 1.3 && < 1.5,
156 dependent-map,
157 dependent-sum,
158 mtl,
159 ref-tf,
160 reflex,
161 split,
162 transformers >= 0.3
164test-suite CrossImpl
165 type: exitcode-stdio-1.0
166 main-is: Reflex/Test/CrossImpl.hs
167 hs-source-dirs: test
168 ghc-options: -O2 -Wall -rtsopts -main-is Reflex.Test.CrossImpl.test
169 build-depends:
170 base,
171 containers,
172 dependent-map,
173 mtl,
174 ref-tf,
175 reflex
177test-suite hlint
178 type: exitcode-stdio-1.0
179 main-is: hlint.hs
180 hs-source-dirs: test
181 build-depends: base
182 , directory
183 , filepath
184 , filemanip
185 , hlint
186 if impl(ghcjs)
187 buildable: False
189test-suite EventWriterT
190 type: exitcode-stdio-1.0
191 main-is: EventWriterT.hs
192 hs-source-dirs: test
193 build-depends: base
194 , dependent-sum
195 , lens
196 , these
197 , transformers
198 , reflex
199 , ref-tf
201test-suite RequesterT
202 type: exitcode-stdio-1.0
203 main-is: RequesterT.hs
204 hs-source-dirs: test
205 build-depends: base
206 , dependent-sum
207 , dependent-map
208 , lens
209 , these
210 , transformers
211 , reflex
212 , ref-tf
213 buildable: False
215test-suite QueryT
216 type: exitcode-stdio-1.0
217 main-is: QueryT.hs
218 hs-source-dirs: test
219 build-depends: base
220 , containers
221 , dependent-map
222 , dependent-sum
223 , lens
224 , monoidal-containers
225 , ref-tf
226 , reflex
227 , semigroups
228 , these
229 , transformers
230 other-modules: Test.Run
232test-suite GC-Semantics
233 type: exitcode-stdio-1.0
234 main-is: GC.hs
235 hs-source-dirs: test
236 build-depends: base
237 , dependent-sum
238 , dependent-map
239 , these
240 , transformers
241 , reflex
242 , ref-tf
243 if impl(ghc < 8)
244 build-depends: semigroups
246test-suite rootCleanup
247 type: exitcode-stdio-1.0
248 main-is: rootCleanup.hs
249 hs-source-dirs: test
250 build-depends: base
251 , reflex
253benchmark spider-bench
254 type: exitcode-stdio-1.0
255 hs-source-dirs: bench
256 main-is: Main.hs
257 ghc-options: -Wall -O2 -rtsopts
258 build-depends:
259 base,
260 criterion == 1.1.*,
261 deepseq >= 1.3 && < 1.5,
262 dependent-map,
263 dependent-sum,
264 mtl,
265 primitive,
266 reflex,
267 stm,
268 transformers >= 0.3
270benchmark saulzar-bench
271 type: exitcode-stdio-1.0
272 hs-source-dirs: bench test
273 c-sources: bench-cbits/checkCapability.c
274 main-is: RunAll.hs
275 ghc-options: -Wall -O2 -rtsopts -threaded
276 ghc-prof-options: -fprof-auto
277 build-depends:
278 base,
279 containers == 0.5.*,
280 criterion == 1.1.*,
281 deepseq >= 1.3 && < 1.5,
282 dependent-map,
283 dependent-sum,
284 loch-th,
285 mtl,
286 primitive,
287 process,
288 ref-tf,
289 reflex,
290 split,
291 stm,
292 time,
293 transformers >= 0.3
295source-repository head
296 type: git
297 location: https://github.com/reflex-frp/reflex