on v0.7.1.1 help sign in
reflex/reflex.cabal
478 lines 11 kB history raw
1Name: reflex
2Version: 0.7.1.1
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.22
13homepage: https://reflex-frp.org
14bug-reports: https://github.com/reflex-frp/reflex/issues
15extra-source-files:
16 README.md
17 Quickref.md
18 ChangeLog.md
20tested-with:
21 GHC ==8.4.4 || ==8.6.5 || ==8.8.1 || ==8.10.2,
22 GHCJS ==8.6
24flag use-reflex-optimizer
25 description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.
26 default: False
27 manual: True
29flag use-template-haskell
30 description: Use template haskell to generate lenses
31 default: True
32 manual: True
34flag debug-trace-events
35 description: Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow!
36 default: False
37 manual: True
39flag fast-weak
40 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
41 default: False
42 manual: True
44flag debug-propagation
45 description: Enable debugging of spider internals
46 default: False
47 manual: True
49flag debug-cycles
50 description: Enable debugging of event cycles
51 default: False
52 manual: True
54flag split-these
55 description: Use split these/semialign packages
56 manual: False
57 default: True
59library
60 default-language: Haskell2010
61 hs-source-dirs: src
62 build-depends:
63 MemoTrie == 0.6.*,
64 base >= 4.11 && < 4.15,
65 bifunctors >= 5.2 && < 5.6,
66 comonad >= 5.0.4 && < 5.1,
67 constraints-extras >= 0.3 && < 0.4,
68 containers >= 0.6 && < 0.7,
69 data-default >= 0.5 && < 0.8,
70 dependent-map >= 0.3 && < 0.5,
71 exception-transformers == 0.4.*,
72 lens >= 4.7 && < 5,
73 monad-control >= 1.0.1 && < 1.1,
74 mtl >= 2.1 && < 2.3,
75 patch >= 0.0.1 && < 0.1,
76 prim-uniq >= 0.1.0.1 && < 0.3,
77 primitive >= 0.5 && < 0.8,
78 profunctors >= 5.3 && < 5.7,
79 random == 1.1.*,
80 ref-tf == 0.4.*,
81 reflection == 2.1.*,
82 semigroupoids >= 4.0 && < 6,
83 stm >= 2.4 && < 2.6,
84 syb >= 0.5 && < 0.8,
85 time >= 1.4 && < 1.10,
86 transformers >= 0.5.6.0 && < 0.6,
87 unbounded-delays >= 0.1.0.0 && < 0.2,
88 witherable >= 0.3 && < 0.4
90 if flag(split-these)
91 build-depends: these >= 1 && <1.2,
92 semialign >=1 && <1.2,
93 monoidal-containers >= 0.6 && < 0.7
94 else
95 build-depends: these >= 0.4 && <0.9,
96 monoidal-containers == 0.4.0.0
98 exposed-modules:
99 Control.Monad.ReaderIO
100 Data.AppendMap,
101 Data.FastMutableIntMap,
102 Data.FastWeakBag,
103 Data.Map.Misc,
104 Data.WeakBag,
105 Reflex,
106 Reflex.Class,
107 Reflex.Adjustable.Class,
108 Reflex.BehaviorWriter.Base,
109 Reflex.BehaviorWriter.Class,
110 Reflex.Collection,
111 Reflex.Dynamic,
112 Reflex.Dynamic.Uniq,
113 Reflex.DynamicWriter,
114 Reflex.DynamicWriter.Base,
115 Reflex.DynamicWriter.Class,
116 Reflex.EventWriter,
117 Reflex.EventWriter.Base,
118 Reflex.EventWriter.Class,
119 Reflex.FastWeak,
120 Reflex.FunctorMaybe,
121 Reflex.Host.Class,
122 Reflex.Host.Headless,
123 Reflex.Network,
124 Reflex.NotReady.Class,
125 Reflex.PerformEvent.Base,
126 Reflex.PerformEvent.Class,
127 Reflex.PostBuild.Base,
128 Reflex.PostBuild.Class,
129 Reflex.Profiled,
130 Reflex.Pure,
131 Reflex.Query.Base,
132 Reflex.Query.Class,
133 Reflex.Requester.Base,
134 Reflex.Requester.Class,
135 Reflex.Spider,
136 Reflex.Spider.Internal,
137 Reflex.Time,
138 Reflex.TriggerEvent.Base,
139 Reflex.TriggerEvent.Class,
140 Reflex.Widget.Basic,
141 Reflex.Workflow
143 reexported-modules:
144 patch:Data.Functor.Misc,
145 patch:Data.Patch as Reflex.Patch,
146 patch:Data.Patch.Class as Reflex.Patch.Class,
147 patch:Data.Patch.DMap as Reflex.Patch.DMap,
148 patch:Data.Patch.DMapWithMove as Reflex.Patch.DMapWithMove,
149 patch:Data.Patch.IntMap as Reflex.Patch.IntMap,
150 patch:Data.Patch.Map as Reflex.Patch.Map,
151 patch:Data.Patch.MapWithMove as Reflex.Patch.MapWithMove
153 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
155 if flag(debug-trace-events)
156 cpp-options: -DDEBUG_TRACE_EVENTS
157 build-depends: bytestring
159 if flag(use-reflex-optimizer)
160 cpp-options: -DUSE_REFLEX_OPTIMIZER
161 build-depends: ghc
162 exposed-modules: Reflex.Optimizer
164 if flag(debug-propagation)
165 cpp-options: -DDEBUG -DDEBUG_TRACE_PROPAGATION -DDEBUG_TRACE_INVALIDATION
167 if flag(debug-cycles)
168 cpp-options: -DDEBUG_CYCLES
170 if flag(use-template-haskell)
171 cpp-options: -DUSE_TEMPLATE_HASKELL
172 build-depends:
173 dependent-sum >= 0.6 && < 0.8,
174 haskell-src-exts >= 1.16 && < 1.24,
175 haskell-src-meta >= 0.6 && < 0.9,
176 template-haskell >= 2.9 && < 2.17
177 exposed-modules:
178 Reflex.Dynamic.TH
179 other-extensions: TemplateHaskell
180 else
181 build-depends:
182 dependent-sum >= 0.6 && < 0.7
184 if flag(fast-weak) && impl(ghcjs)
185 cpp-options: -DGHCJS_FAST_WEAK
187 if impl(ghcjs)
188 build-depends: ghcjs-base
190test-suite semantics
191 default-language: Haskell2010
192 type: exitcode-stdio-1.0
193 main-is: semantics.hs
194 hs-source-dirs: test
195 ghc-options: -O2 -Wall -rtsopts
196 build-depends:
197 base,
198 bifunctors,
199 containers,
200 deepseq,
201 dependent-map,
202 dependent-sum,
203 mtl,
204 ref-tf,
205 reflex,
206 split,
207 transformers
208 other-modules:
209 Reflex.Bench.Focused
210 Reflex.Plan.Pure
211 Reflex.Plan.Reflex
212 Reflex.Test
213 Reflex.Test.Micro
214 Reflex.TestPlan
216test-suite CrossImpl
217 default-language: Haskell2010
218 type: exitcode-stdio-1.0
219 main-is: Reflex/Test/CrossImpl.hs
220 hs-source-dirs: test
221 ghc-options: -O2 -Wall -rtsopts
222 build-depends:
223 base,
224 containers,
225 dependent-map,
226 dependent-sum,
227 deepseq,
228 mtl,
229 transformers,
230 ref-tf,
231 reflex
232 other-modules:
233 Reflex.Test
234 Reflex.TestPlan
235 Reflex.Plan.Reflex
236 Reflex.Plan.Pure
238test-suite hlint
239 default-language: Haskell2010
240 type: exitcode-stdio-1.0
241 main-is: hlint.hs
242 hs-source-dirs: test
243 build-depends: base
244 , directory
245 , filepath
246 , filemanip
247 if impl(ghc >= 8.8)
248 build-depends: hlint >= 3
249 else
250 build-depends: hlint (< 2.1 || >= 2.2.2) && < 3
251 if impl(ghcjs)
252 buildable: False
254test-suite EventWriterT
255 default-language: Haskell2010
256 type: exitcode-stdio-1.0
257 main-is: EventWriterT.hs
258 hs-source-dirs: test
259 build-depends: base
260 , containers
261 , deepseq
262 , dependent-map
263 , dependent-sum
264 , lens
265 , mtl
266 , these
267 , transformers
268 , reflex
269 , ref-tf
271 if flag(split-these)
272 build-depends: these-lens
274 other-modules:
275 Test.Run
278test-suite DebugCycles
279 default-language: Haskell2010
280 type: exitcode-stdio-1.0
281 main-is: DebugCycles.hs
282 hs-source-dirs: test
283 ghc-options: -threaded
284 build-depends: base
285 , containers
286 , deepseq
287 , dependent-map
288 , dependent-sum
289 , hspec
290 , lens
291 , mtl
292 , these
293 , transformers
294 , reflex
295 , ref-tf
296 , witherable
297 , proctest
300 if flag(split-these)
301 build-depends: these-lens, semialign
303 other-modules:
304 Test.Run
307test-suite RequesterT
308 default-language: Haskell2010
309 type: exitcode-stdio-1.0
310 main-is: RequesterT.hs
311 hs-source-dirs: test
312 build-depends: base
313 , constraints
314 , constraints-extras
315 , containers
316 , deepseq
317 , dependent-map
318 , dependent-sum
319 , lens
320 , mtl
321 , ref-tf
322 , reflex
323 , text
324 , these
325 , transformers
327 if flag(split-these)
328 build-depends: these-lens
330 other-modules:
331 Reflex.TestPlan
332 Reflex.Plan.Pure
333 Test.Run
335test-suite Adjustable
336 default-language: Haskell2010
337 type: exitcode-stdio-1.0
338 main-is: Adjustable.hs
339 hs-source-dirs: test
340 build-depends: base
341 , containers
342 , dependent-sum
343 , reflex
344 , ref-tf
345 , these
347 other-modules:
348 Test.Run
350test-suite QueryT
351 default-language: Haskell2010
352 type: exitcode-stdio-1.0
353 main-is: QueryT.hs
354 hs-source-dirs: test
355 build-depends: base
356 , containers
357 , dependent-map
358 , dependent-sum
359 , deepseq
360 , lens
361 , monoidal-containers
362 , mtl
363 , patch
364 , ref-tf
365 , reflex
366 , these
367 , transformers
369 if flag(split-these)
370 build-depends: semialign, these-lens
372 other-modules:
373 Test.Run
374 Reflex.TestPlan
375 Reflex.Plan.Reflex
376 Reflex.Plan.Pure
378test-suite GC-Semantics
379 default-language: Haskell2010
380 type: exitcode-stdio-1.0
381 main-is: GC.hs
382 hs-source-dirs: test
383 build-depends: base
384 , containers
385 , dependent-sum
386 , dependent-map
387 , deepseq
388 , mtl
389 , patch
390 , these
391 , transformers
392 , reflex
393 , ref-tf
395 if flag(split-these)
396 build-depends: semialign
398 other-modules:
399 Reflex.Plan.Pure
400 Reflex.Plan.Reflex
401 Reflex.TestPlan
402 Test.Run
404test-suite rootCleanup
405 default-language: Haskell2010
406 type: exitcode-stdio-1.0
407 main-is: rootCleanup.hs
408 hs-source-dirs: test
409 build-depends: base
410 , containers
411 , deepseq
412 , dependent-sum
413 , mtl
414 , reflex
415 , ref-tf
416 , these
417 other-modules:
418 Reflex.Plan.Pure
419 Reflex.TestPlan
420 Test.Run
422benchmark spider-bench
423 default-language: Haskell2010
424 type: exitcode-stdio-1.0
425 hs-source-dirs: bench test
426 main-is: Main.hs
427 ghc-options: -Wall -O2 -rtsopts
428 build-depends:
429 base,
430 containers,
431 criterion,
432 deepseq,
433 dependent-map,
434 dependent-sum,
435 ref-tf,
436 mtl,
437 primitive,
438 reflex,
439 split,
440 stm,
441 transformers
442 other-modules:
443 Reflex.TestPlan
444 Reflex.Plan.Reflex
445 Reflex.Bench.Focused
447benchmark saulzar-bench
448 default-language: Haskell2010
449 type: exitcode-stdio-1.0
450 hs-source-dirs: bench test
451 c-sources: bench-cbits/checkCapability.c
452 main-is: RunAll.hs
453 ghc-options: -Wall -O2 -rtsopts -threaded
454 build-depends:
455 base,
456 containers,
457 criterion,
458 deepseq,
459 dependent-map,
460 dependent-sum,
461 loch-th,
462 mtl,
463 primitive,
464 process,
465 ref-tf,
466 reflex,
467 split,
468 stm,
469 time,
470 transformers
471 other-modules:
472 Reflex.TestPlan
473 Reflex.Plan.Reflex
474 Reflex.Bench.Focused
476source-repository head
477 type: git
478 location: https://github.com/reflex-frp/reflex