on release/0.7 help sign in
reflex/reflex.cabal
499 lines 12 kB history raw
1Name: reflex
2Version: 0.7.2.0
3Synopsis: Higher-order Functional Reactive Programming
4Description:
5 Interactive programs without callbacks or side-effects.
6 Functional Reactive Programming (FRP) uses composable events and time-varying
7 values to describe interactive systems as pure functions.
8 Just like other pure functional code, functional reactive code is easier
9 to get right on the first try, maintain, and reuse.
10 .
11 Reflex is a fully-deterministic, higher-order Functional Reactive Programming
12 interface and an engine that efficiently implements that interface.
13 .
14 <https://reflex-frp.org>
15License: BSD3
16License-file: LICENSE
17Author: Ryan Trinkle
18Maintainer: ryan.trinkle@gmail.com
19Stability: Experimental
20Category: FRP
21Build-type: Simple
22Cabal-version: 1.22
23homepage: https://reflex-frp.org
24bug-reports: https://github.com/reflex-frp/reflex/issues
25extra-source-files:
26 README.md
27 Quickref.md
28 ChangeLog.md
30tested-with:
31 GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1,
32 GHCJS ==8.4
34flag use-reflex-optimizer
35 description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.
36 default: False
37 manual: True
39flag use-template-haskell
40 description: Use template haskell to generate lenses
41 default: True
42 manual: True
44flag debug-trace-events
45 description: Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow!
46 default: False
47 manual: True
49flag fast-weak
50 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
51 default: False
52 manual: True
54flag debug-propagation
55 description: Enable debugging of spider internals
56 default: False
57 manual: True
59flag debug-cycles
60 description: Enable debugging of event cycles
61 default: False
62 manual: True
64flag split-these
65 description: Use split these/semialign packages
66 manual: False
67 default: True
69library
70 default-language: Haskell2010
71 hs-source-dirs: src
72 build-depends:
73 MemoTrie == 0.6.*,
74 base >= 4.9 && < 4.14,
75 bifunctors >= 5.2 && < 5.6,
76 comonad >= 5.0.4 && < 5.1,
77 constraints-extras >= 0.3 && < 0.4,
78 containers >= 0.6 && < 0.7,
79 data-default >= 0.5 && < 0.8,
80 dependent-map >= 0.3 && < 0.5,
81 exception-transformers == 0.4.*,
82 lens >= 4.7 && < 5,
83 mmorph >= 1.0 && < 1.2,
84 monad-control >= 1.0.1 && < 1.1,
85 mtl >= 2.1 && < 2.3,
86 patch >= 0.0.1 && < 0.1,
87 prim-uniq >= 0.1.0.1 && < 0.3,
88 primitive >= 0.5 && < 0.8,
89 profunctors >= 5.3 && < 5.6,
90 random == 1.1.*,
91 ref-tf == 0.4.*,
92 reflection == 2.1.*,
93 semigroupoids >= 4.0 && < 6,
94 stm >= 2.4 && < 2.6,
95 syb >= 0.5 && < 0.8,
96 time >= 1.4 && < 1.10,
97 transformers >= 0.5.6.0 && < 0.6,
98 unbounded-delays >= 0.1.0.0 && < 0.2,
99 witherable >= 0.3 && < 0.4
101 if flag(split-these)
102 build-depends: these >= 1 && <1.2,
103 semialign >=1 && <1.2,
104 monoidal-containers >= 0.6 && < 0.7
105 else
106 build-depends: these >= 0.4 && <0.9,
107 monoidal-containers == 0.4.0.0
109 exposed-modules:
110 Control.Monad.ReaderIO
111 Data.AppendMap,
112 Data.FastMutableIntMap,
113 Data.FastWeakBag,
114 Data.Map.Misc,
115 Data.WeakBag,
116 Reflex,
117 Reflex.Class,
118 Reflex.Adjustable.Class,
119 Reflex.BehaviorWriter.Base,
120 Reflex.BehaviorWriter.Class,
121 Reflex.Collection,
122 Reflex.Dynamic,
123 Reflex.Dynamic.Uniq,
124 Reflex.DynamicWriter,
125 Reflex.DynamicWriter.Base,
126 Reflex.DynamicWriter.Class,
127 Reflex.EventWriter,
128 Reflex.EventWriter.Base,
129 Reflex.EventWriter.Class,
130 Reflex.FastWeak,
131 Reflex.FunctorMaybe,
132 Reflex.Host.Class,
133 Reflex.Host.Headless,
134 Reflex.Network,
135 Reflex.NotReady.Class,
136 Reflex.PerformEvent.Base,
137 Reflex.PerformEvent.Class,
138 Reflex.PostBuild.Base,
139 Reflex.PostBuild.Class,
140 Reflex.Profiled,
141 Reflex.Pure,
142 Reflex.Query.Base,
143 Reflex.Query.Class,
144 Reflex.Requester.Base,
145 Reflex.Requester.Class,
146 Reflex.Spider,
147 Reflex.Spider.Internal,
148 Reflex.Time,
149 Reflex.TriggerEvent.Base,
150 Reflex.TriggerEvent.Class,
151 Reflex.Widget.Basic,
152 Reflex.Workflow
154 reexported-modules:
155 patch:Data.Functor.Misc,
156 patch:Data.Patch as Reflex.Patch,
157 patch:Data.Patch.Class as Reflex.Patch.Class,
158 patch:Data.Patch.DMap as Reflex.Patch.DMap,
159 patch:Data.Patch.DMapWithMove as Reflex.Patch.DMapWithMove,
160 patch:Data.Patch.IntMap as Reflex.Patch.IntMap,
161 patch:Data.Patch.Map as Reflex.Patch.Map,
162 patch:Data.Patch.MapWithMove as Reflex.Patch.MapWithMove
164 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
166 if flag(debug-trace-events)
167 cpp-options: -DDEBUG_TRACE_EVENTS
168 build-depends:
169 bytestring >= 0.10.8 && < 0.11
171 if flag(use-reflex-optimizer)
172 cpp-options: -DUSE_REFLEX_OPTIMIZER
173 build-depends: ghc
174 exposed-modules: Reflex.Optimizer
176 if flag(debug-propagation)
177 cpp-options: -DDEBUG -DDEBUG_TRACE_PROPAGATION -DDEBUG_TRACE_INVALIDATION
179 if flag(debug-cycles)
180 cpp-options: -DDEBUG_CYCLES
182 if flag(use-template-haskell)
183 cpp-options: -DUSE_TEMPLATE_HASKELL
184 build-depends:
185 dependent-sum >= 0.6 && < 0.8,
186 haskell-src-exts >= 1.16 && < 1.24,
187 haskell-src-meta >= 0.6 && < 0.9,
188 template-haskell >= 2.9 && < 2.16
189 exposed-modules:
190 Reflex.Dynamic.TH
191 other-extensions: TemplateHaskell
192 else
193 build-depends:
194 dependent-sum >= 0.6 && < 0.8
196 if flag(fast-weak) && impl(ghcjs)
197 cpp-options: -DGHCJS_FAST_WEAK
199 if impl(ghcjs)
200 build-depends:
201 ghcjs-base == 0.2.*
203test-suite semantics
204 default-language: Haskell2010
205 type: exitcode-stdio-1.0
206 main-is: semantics.hs
207 hs-source-dirs: test
208 ghc-options: -O2 -Wall -rtsopts
209 build-depends:
210 base,
211 bifunctors,
212 containers,
213 deepseq,
214 dependent-map,
215 dependent-sum,
216 mtl,
217 ref-tf,
218 reflex,
219 split,
220 transformers
221 other-modules:
222 Reflex.Bench.Focused
223 Reflex.Plan.Pure
224 Reflex.Plan.Reflex
225 Reflex.Test
226 Reflex.Test.Micro
227 Reflex.TestPlan
229test-suite CrossImpl
230 default-language: Haskell2010
231 type: exitcode-stdio-1.0
232 main-is: Reflex/Test/CrossImpl.hs
233 hs-source-dirs: test
234 ghc-options: -O2 -Wall -rtsopts
235 build-depends:
236 base,
237 containers,
238 dependent-map,
239 dependent-sum,
240 deepseq,
241 mtl,
242 transformers,
243 ref-tf,
244 reflex
245 other-modules:
246 Reflex.Test
247 Reflex.TestPlan
248 Reflex.Plan.Reflex
249 Reflex.Plan.Pure
251test-suite hlint
252 default-language: Haskell2010
253 type: exitcode-stdio-1.0
254 main-is: hlint.hs
255 hs-source-dirs: test
256 build-depends: base
257 , directory
258 , filepath
259 , filemanip
260 if impl(ghc >= 8.8)
261 build-depends: hlint >= 3
262 else
263 build-depends: hlint (< 2.1 || >= 2.2.2) && < 3
264 if impl(ghcjs)
265 buildable: False
267test-suite EventWriterT
268 default-language: Haskell2010
269 type: exitcode-stdio-1.0
270 main-is: EventWriterT.hs
271 hs-source-dirs: test
272 build-depends: base
273 , containers
274 , deepseq
275 , dependent-map
276 , dependent-sum
277 , lens
278 , mtl
279 , these
280 , transformers
281 , reflex
282 , ref-tf
284 if flag(split-these)
285 build-depends: these-lens
287 other-modules:
288 Test.Run
291test-suite DebugCycles
292 default-language: Haskell2010
293 type: exitcode-stdio-1.0
294 main-is: DebugCycles.hs
295 hs-source-dirs: test
296 ghc-options: -threaded
297 build-depends: base
298 , containers
299 , deepseq
300 , dependent-map
301 , dependent-sum
302 , hspec
303 , lens
304 , mtl
305 , these
306 , transformers
307 , reflex
308 , ref-tf
309 , witherable
310 , proctest
313 if flag(split-these)
314 build-depends: these-lens, semialign
316 other-modules:
317 Test.Run
320test-suite RequesterT
321 default-language: Haskell2010
322 type: exitcode-stdio-1.0
323 main-is: RequesterT.hs
324 hs-source-dirs: test
325 build-depends: base
326 , constraints
327 , constraints-extras
328 , containers
329 , deepseq
330 , dependent-map
331 , dependent-sum
332 , lens
333 , mtl
334 , ref-tf
335 , reflex
336 , text
337 , these
338 , transformers
340 if flag(split-these)
341 build-depends: these-lens
343 other-modules:
344 Reflex.TestPlan
345 Reflex.Plan.Pure
346 Test.Run
348test-suite Headless
349 default-language: Haskell2010
350 type: exitcode-stdio-1.0
351 main-is: Headless.hs
352 hs-source-dirs: test
353 build-depends: base
354 , reflex
356test-suite Adjustable
357 default-language: Haskell2010
358 type: exitcode-stdio-1.0
359 main-is: Adjustable.hs
360 hs-source-dirs: test
361 build-depends: base
362 , containers
363 , dependent-sum
364 , reflex
365 , ref-tf
366 , these
368 other-modules:
369 Test.Run
371test-suite QueryT
372 default-language: Haskell2010
373 type: exitcode-stdio-1.0
374 main-is: QueryT.hs
375 hs-source-dirs: test
376 build-depends: base
377 , containers
378 , dependent-map
379 , dependent-sum
380 , deepseq
381 , lens
382 , monoidal-containers
383 , mtl
384 , patch
385 , ref-tf
386 , reflex
387 , these
388 , transformers
390 if flag(split-these)
391 build-depends: semialign, these-lens
393 other-modules:
394 Test.Run
395 Reflex.TestPlan
396 Reflex.Plan.Reflex
397 Reflex.Plan.Pure
399test-suite GC-Semantics
400 default-language: Haskell2010
401 type: exitcode-stdio-1.0
402 main-is: GC.hs
403 hs-source-dirs: test
404 build-depends: base
405 , containers
406 , dependent-sum
407 , dependent-map
408 , deepseq
409 , mtl
410 , patch
411 , these
412 , transformers
413 , reflex
414 , ref-tf
416 if flag(split-these)
417 build-depends: semialign
419 other-modules:
420 Reflex.Plan.Pure
421 Reflex.Plan.Reflex
422 Reflex.TestPlan
423 Test.Run
425test-suite rootCleanup
426 default-language: Haskell2010
427 type: exitcode-stdio-1.0
428 main-is: rootCleanup.hs
429 hs-source-dirs: test
430 build-depends: base
431 , containers
432 , deepseq
433 , dependent-sum
434 , mtl
435 , reflex
436 , ref-tf
437 , these
438 other-modules:
439 Reflex.Plan.Pure
440 Reflex.TestPlan
441 Test.Run
443benchmark spider-bench
444 default-language: Haskell2010
445 type: exitcode-stdio-1.0
446 hs-source-dirs: bench test
447 main-is: Main.hs
448 ghc-options: -Wall -O2 -rtsopts
449 build-depends:
450 base,
451 containers,
452 criterion,
453 deepseq,
454 dependent-map,
455 dependent-sum,
456 ref-tf,
457 mtl,
458 primitive,
459 reflex,
460 split,
461 stm,
462 transformers
463 other-modules:
464 Reflex.TestPlan
465 Reflex.Plan.Reflex
466 Reflex.Bench.Focused
468benchmark saulzar-bench
469 default-language: Haskell2010
470 type: exitcode-stdio-1.0
471 hs-source-dirs: bench test
472 c-sources: bench-cbits/checkCapability.c
473 main-is: RunAll.hs
474 ghc-options: -Wall -O2 -rtsopts -threaded
475 build-depends:
476 base,
477 containers,
478 criterion,
479 deepseq,
480 dependent-map,
481 dependent-sum,
482 loch-th,
483 mtl,
484 primitive,
485 process,
486 ref-tf,
487 reflex,
488 split,
489 stm,
490 time,
491 transformers
492 other-modules:
493 Reflex.TestPlan
494 Reflex.Plan.Reflex
495 Reflex.Bench.Focused
497source-repository head
498 type: git
499 location: https://github.com/reflex-frp/reflex