on eac@add-unzip-instance help sign in
reflex/reflex.cabal
475 lines 11 kB history raw
1Name: reflex
2Version: 0.7.0.0
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.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.7,
174 haskell-src-exts >= 1.16 && < 1.23,
175 haskell-src-meta >= 0.6 && < 0.9,
176 template-haskell >= 2.9 && < 2.16
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 , hlint (< 2.1 || >= 2.2.2) && < 3
248 if impl(ghcjs)
249 buildable: False
251test-suite EventWriterT
252 default-language: Haskell2010
253 type: exitcode-stdio-1.0
254 main-is: EventWriterT.hs
255 hs-source-dirs: test
256 build-depends: base
257 , containers
258 , deepseq
259 , dependent-map
260 , dependent-sum
261 , lens
262 , mtl
263 , these
264 , transformers
265 , reflex
266 , ref-tf
268 if flag(split-these)
269 build-depends: these-lens
271 other-modules:
272 Test.Run
275test-suite DebugCycles
276 default-language: Haskell2010
277 type: exitcode-stdio-1.0
278 main-is: DebugCycles.hs
279 hs-source-dirs: test
280 ghc-options: -threaded
281 build-depends: base
282 , containers
283 , deepseq
284 , dependent-map
285 , dependent-sum
286 , hspec
287 , lens
288 , mtl
289 , these
290 , transformers
291 , reflex
292 , ref-tf
293 , witherable
294 , proctest
297 if flag(split-these)
298 build-depends: these-lens, semialign
300 other-modules:
301 Test.Run
304test-suite RequesterT
305 default-language: Haskell2010
306 type: exitcode-stdio-1.0
307 main-is: RequesterT.hs
308 hs-source-dirs: test
309 build-depends: base
310 , constraints
311 , constraints-extras
312 , containers
313 , deepseq
314 , dependent-map
315 , dependent-sum
316 , lens
317 , mtl
318 , ref-tf
319 , reflex
320 , text
321 , these
322 , transformers
324 if flag(split-these)
325 build-depends: these-lens
327 other-modules:
328 Reflex.TestPlan
329 Reflex.Plan.Pure
330 Test.Run
332test-suite Adjustable
333 default-language: Haskell2010
334 type: exitcode-stdio-1.0
335 main-is: Adjustable.hs
336 hs-source-dirs: test
337 build-depends: base
338 , containers
339 , dependent-sum
340 , reflex
341 , ref-tf
342 , these
344 other-modules:
345 Test.Run
347test-suite QueryT
348 default-language: Haskell2010
349 type: exitcode-stdio-1.0
350 main-is: QueryT.hs
351 hs-source-dirs: test
352 build-depends: base
353 , containers
354 , dependent-map
355 , dependent-sum
356 , deepseq
357 , lens
358 , monoidal-containers
359 , mtl
360 , patch
361 , ref-tf
362 , reflex
363 , these
364 , transformers
366 if flag(split-these)
367 build-depends: semialign, these-lens
369 other-modules:
370 Test.Run
371 Reflex.TestPlan
372 Reflex.Plan.Reflex
373 Reflex.Plan.Pure
375test-suite GC-Semantics
376 default-language: Haskell2010
377 type: exitcode-stdio-1.0
378 main-is: GC.hs
379 hs-source-dirs: test
380 build-depends: base
381 , containers
382 , dependent-sum
383 , dependent-map
384 , deepseq
385 , mtl
386 , patch
387 , these
388 , transformers
389 , reflex
390 , ref-tf
392 if flag(split-these)
393 build-depends: semialign
395 other-modules:
396 Reflex.Plan.Pure
397 Reflex.Plan.Reflex
398 Reflex.TestPlan
399 Test.Run
401test-suite rootCleanup
402 default-language: Haskell2010
403 type: exitcode-stdio-1.0
404 main-is: rootCleanup.hs
405 hs-source-dirs: test
406 build-depends: base
407 , containers
408 , deepseq
409 , dependent-sum
410 , mtl
411 , reflex
412 , ref-tf
413 , these
414 other-modules:
415 Reflex.Plan.Pure
416 Reflex.TestPlan
417 Test.Run
419benchmark spider-bench
420 default-language: Haskell2010
421 type: exitcode-stdio-1.0
422 hs-source-dirs: bench test
423 main-is: Main.hs
424 ghc-options: -Wall -O2 -rtsopts
425 build-depends:
426 base,
427 containers,
428 criterion,
429 deepseq,
430 dependent-map,
431 dependent-sum,
432 ref-tf,
433 mtl,
434 primitive,
435 reflex,
436 split,
437 stm,
438 transformers
439 other-modules:
440 Reflex.TestPlan
441 Reflex.Plan.Reflex
442 Reflex.Bench.Focused
444benchmark saulzar-bench
445 default-language: Haskell2010
446 type: exitcode-stdio-1.0
447 hs-source-dirs: bench test
448 c-sources: bench-cbits/checkCapability.c
449 main-is: RunAll.hs
450 ghc-options: -Wall -O2 -rtsopts -threaded
451 build-depends:
452 base,
453 containers,
454 criterion,
455 deepseq,
456 dependent-map,
457 dependent-sum,
458 loch-th,
459 mtl,
460 primitive,
461 process,
462 ref-tf,
463 reflex,
464 split,
465 stm,
466 time,
467 transformers
468 other-modules:
469 Reflex.TestPlan
470 Reflex.Plan.Reflex
471 Reflex.Bench.Focused
473source-repository head
474 type: git
475 location: https://github.com/reflex-frp/reflex