on add-profiled-tests help sign in
reflex/reflex.cabal
474 lines 11 kB history raw
1Name: reflex
2Version: 0.6.4
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.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1,
22 GHCJS ==8.4
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.9 && < 4.14,
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.4,
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.2,
77 primitive >= 0.5 && < 0.8,
78 profunctors >= 5.3 && < 5.6,
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.3.2
90 if flag(split-these)
91 build-depends: these >= 1 && <1.1,
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.Network,
123 Reflex.NotReady.Class,
124 Reflex.PerformEvent.Base,
125 Reflex.PerformEvent.Class,
126 Reflex.PostBuild.Base,
127 Reflex.PostBuild.Class,
128 Reflex.Profiled,
129 Reflex.Pure,
130 Reflex.Query.Base,
131 Reflex.Query.Class,
132 Reflex.Requester.Base,
133 Reflex.Requester.Class,
134 Reflex.Spider,
135 Reflex.Spider.Internal,
136 Reflex.Time,
137 Reflex.TriggerEvent.Base,
138 Reflex.TriggerEvent.Class,
139 Reflex.Widget.Basic,
140 Reflex.Workflow
142 reexported-modules:
143 patch:Data.Functor.Misc,
144 patch:Data.Patch as Reflex.Patch,
145 patch:Data.Patch.Class as Reflex.Patch.Class,
146 patch:Data.Patch.DMap as Reflex.Patch.DMap,
147 patch:Data.Patch.DMapWithMove as Reflex.Patch.DMapWithMove,
148 patch:Data.Patch.IntMap as Reflex.Patch.IntMap,
149 patch:Data.Patch.Map as Reflex.Patch.Map,
150 patch:Data.Patch.MapWithMove as Reflex.Patch.MapWithMove
152 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
154 if flag(debug-trace-events)
155 cpp-options: -DDEBUG_TRACE_EVENTS
156 build-depends: bytestring
158 if flag(use-reflex-optimizer)
159 cpp-options: -DUSE_REFLEX_OPTIMIZER
160 build-depends: ghc
161 exposed-modules: Reflex.Optimizer
163 if flag(debug-propagation)
164 cpp-options: -DDEBUG -DDEBUG_TRACE_PROPAGATION -DDEBUG_TRACE_INVALIDATION
166 if flag(debug-cycles)
167 cpp-options: -DDEBUG_CYCLES
169 if flag(use-template-haskell)
170 cpp-options: -DUSE_TEMPLATE_HASKELL
171 build-depends:
172 dependent-sum >= 0.6 && < 0.7,
173 haskell-src-exts >= 1.16 && < 1.23,
174 haskell-src-meta >= 0.6 && < 0.9,
175 template-haskell >= 2.9 && < 2.16
176 exposed-modules:
177 Reflex.Dynamic.TH
178 other-extensions: TemplateHaskell
179 else
180 build-depends:
181 dependent-sum >= 0.6 && < 0.7
183 if flag(fast-weak) && impl(ghcjs)
184 cpp-options: -DGHCJS_FAST_WEAK
186 if impl(ghcjs)
187 build-depends: ghcjs-base
189test-suite semantics
190 default-language: Haskell2010
191 type: exitcode-stdio-1.0
192 main-is: semantics.hs
193 hs-source-dirs: test
194 ghc-options: -O2 -Wall -rtsopts
195 build-depends:
196 base,
197 bifunctors,
198 containers,
199 deepseq,
200 dependent-map,
201 dependent-sum,
202 mtl,
203 ref-tf,
204 reflex,
205 split,
206 transformers
207 other-modules:
208 Reflex.Bench.Focused
209 Reflex.Plan.Pure
210 Reflex.Plan.Reflex
211 Reflex.Test
212 Reflex.Test.Micro
213 Reflex.TestPlan
215test-suite CrossImpl
216 default-language: Haskell2010
217 type: exitcode-stdio-1.0
218 main-is: Reflex/Test/CrossImpl.hs
219 hs-source-dirs: test
220 ghc-options: -O2 -Wall -rtsopts
221 build-depends:
222 base,
223 containers,
224 dependent-map,
225 dependent-sum,
226 deepseq,
227 mtl,
228 transformers,
229 ref-tf,
230 reflex
231 other-modules:
232 Reflex.Test
233 Reflex.TestPlan
234 Reflex.Plan.Reflex
235 Reflex.Plan.Pure
237test-suite hlint
238 default-language: Haskell2010
239 type: exitcode-stdio-1.0
240 main-is: hlint.hs
241 hs-source-dirs: test
242 build-depends: base
243 , directory
244 , filepath
245 , filemanip
246 , hlint < 2.1 || >= 2.2.2
247 if impl(ghcjs)
248 buildable: False
250test-suite EventWriterT
251 default-language: Haskell2010
252 type: exitcode-stdio-1.0
253 main-is: EventWriterT.hs
254 hs-source-dirs: test
255 build-depends: base
256 , containers
257 , deepseq
258 , dependent-map
259 , dependent-sum
260 , lens
261 , mtl
262 , these
263 , transformers
264 , reflex
265 , ref-tf
267 if flag(split-these)
268 build-depends: these-lens
270 other-modules:
271 Test.Run
274test-suite DebugCycles
275 default-language: Haskell2010
276 type: exitcode-stdio-1.0
277 main-is: DebugCycles.hs
278 hs-source-dirs: test
279 ghc-options: -threaded
280 build-depends: base
281 , containers
282 , deepseq
283 , dependent-map
284 , dependent-sum
285 , hspec
286 , lens
287 , mtl
288 , these
289 , transformers
290 , reflex
291 , ref-tf
292 , witherable
293 , proctest
296 if flag(split-these)
297 build-depends: these-lens, semialign
299 other-modules:
300 Test.Run
303test-suite RequesterT
304 default-language: Haskell2010
305 type: exitcode-stdio-1.0
306 main-is: RequesterT.hs
307 hs-source-dirs: test
308 build-depends: base
309 , constraints
310 , constraints-extras
311 , containers
312 , deepseq
313 , dependent-map
314 , dependent-sum
315 , lens
316 , mtl
317 , ref-tf
318 , reflex
319 , text
320 , these
321 , transformers
323 if flag(split-these)
324 build-depends: these-lens
326 other-modules:
327 Reflex.TestPlan
328 Reflex.Plan.Pure
329 Test.Run
331test-suite Adjustable
332 default-language: Haskell2010
333 type: exitcode-stdio-1.0
334 main-is: Adjustable.hs
335 hs-source-dirs: test
336 build-depends: base
337 , containers
338 , dependent-sum
339 , reflex
340 , ref-tf
341 , these
343 other-modules:
344 Test.Run
346test-suite QueryT
347 default-language: Haskell2010
348 type: exitcode-stdio-1.0
349 main-is: QueryT.hs
350 hs-source-dirs: test
351 build-depends: base
352 , containers
353 , dependent-map
354 , dependent-sum
355 , deepseq
356 , lens
357 , monoidal-containers
358 , mtl
359 , patch
360 , ref-tf
361 , reflex
362 , these
363 , transformers
365 if flag(split-these)
366 build-depends: semialign, these-lens
368 other-modules:
369 Test.Run
370 Reflex.TestPlan
371 Reflex.Plan.Reflex
372 Reflex.Plan.Pure
374test-suite GC-Semantics
375 default-language: Haskell2010
376 type: exitcode-stdio-1.0
377 main-is: GC.hs
378 hs-source-dirs: test
379 build-depends: base
380 , containers
381 , dependent-sum
382 , dependent-map
383 , deepseq
384 , mtl
385 , patch
386 , these
387 , transformers
388 , reflex
389 , ref-tf
391 if flag(split-these)
392 build-depends: semialign
394 other-modules:
395 Reflex.Plan.Pure
396 Reflex.Plan.Reflex
397 Reflex.TestPlan
398 Test.Run
400test-suite rootCleanup
401 default-language: Haskell2010
402 type: exitcode-stdio-1.0
403 main-is: rootCleanup.hs
404 hs-source-dirs: test
405 build-depends: base
406 , containers
407 , deepseq
408 , dependent-sum
409 , mtl
410 , reflex
411 , ref-tf
412 , these
413 other-modules:
414 Reflex.Plan.Pure
415 Reflex.TestPlan
416 Test.Run
418benchmark spider-bench
419 default-language: Haskell2010
420 type: exitcode-stdio-1.0
421 hs-source-dirs: bench test
422 main-is: Main.hs
423 ghc-options: -Wall -O2 -rtsopts
424 build-depends:
425 base,
426 containers,
427 criterion,
428 deepseq,
429 dependent-map,
430 dependent-sum,
431 ref-tf,
432 mtl,
433 primitive,
434 reflex,
435 split,
436 stm,
437 transformers
438 other-modules:
439 Reflex.TestPlan
440 Reflex.Plan.Reflex
441 Reflex.Bench.Focused
443benchmark saulzar-bench
444 default-language: Haskell2010
445 type: exitcode-stdio-1.0
446 hs-source-dirs: bench test
447 c-sources: bench-cbits/checkCapability.c
448 main-is: RunAll.hs
449 ghc-options: -Wall -O2 -rtsopts -threaded
450 build-depends:
451 base,
452 containers,
453 criterion,
454 deepseq,
455 dependent-map,
456 dependent-sum,
457 loch-th,
458 mtl,
459 primitive,
460 process,
461 ref-tf,
462 reflex,
463 split,
464 stm,
465 time,
466 transformers
467 other-modules:
468 Reflex.TestPlan
469 Reflex.Plan.Reflex
470 Reflex.Bench.Focused
472source-repository head
473 type: git
474 location: https://github.com/reflex-frp/reflex