on 82be479 help sign in
reflex/reflex.cabal
477 lines 11 kB history raw
1Name: reflex
2Version: 0.7.1.0
3Synopsis: Higher-order Functional Reactive Programming
4Description: Reflex is a high-performance, deterministic, higher-order Functional Reactive Programming system: <https://reflex-frp.org>
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:
158 bytestring >= 0.10.8 && < 0.11
160 if flag(use-reflex-optimizer)
161 cpp-options: -DUSE_REFLEX_OPTIMIZER
162 build-depends: ghc
163 exposed-modules: Reflex.Optimizer
165 if flag(debug-propagation)
166 cpp-options: -DDEBUG -DDEBUG_TRACE_PROPAGATION -DDEBUG_TRACE_INVALIDATION
168 if flag(debug-cycles)
169 cpp-options: -DDEBUG_CYCLES
171 if flag(use-template-haskell)
172 cpp-options: -DUSE_TEMPLATE_HASKELL
173 build-depends:
174 dependent-sum >= 0.6 && < 0.7,
175 haskell-src-exts >= 1.16 && < 1.23,
176 haskell-src-meta >= 0.6 && < 0.9,
177 template-haskell >= 2.9 && < 2.16
178 exposed-modules:
179 Reflex.Dynamic.TH
180 other-extensions: TemplateHaskell
181 else
182 build-depends:
183 dependent-sum >= 0.6 && < 0.7
185 if flag(fast-weak) && impl(ghcjs)
186 cpp-options: -DGHCJS_FAST_WEAK
188 if impl(ghcjs)
189 build-depends:
190 ghcjs-base == 0.2.*
192test-suite semantics
193 default-language: Haskell2010
194 type: exitcode-stdio-1.0
195 main-is: semantics.hs
196 hs-source-dirs: test
197 ghc-options: -O2 -Wall -rtsopts
198 build-depends:
199 base,
200 bifunctors,
201 containers,
202 deepseq,
203 dependent-map,
204 dependent-sum,
205 mtl,
206 ref-tf,
207 reflex,
208 split,
209 transformers
210 other-modules:
211 Reflex.Bench.Focused
212 Reflex.Plan.Pure
213 Reflex.Plan.Reflex
214 Reflex.Test
215 Reflex.Test.Micro
216 Reflex.TestPlan
218test-suite CrossImpl
219 default-language: Haskell2010
220 type: exitcode-stdio-1.0
221 main-is: Reflex/Test/CrossImpl.hs
222 hs-source-dirs: test
223 ghc-options: -O2 -Wall -rtsopts
224 build-depends:
225 base,
226 containers,
227 dependent-map,
228 dependent-sum,
229 deepseq,
230 mtl,
231 transformers,
232 ref-tf,
233 reflex
234 other-modules:
235 Reflex.Test
236 Reflex.TestPlan
237 Reflex.Plan.Reflex
238 Reflex.Plan.Pure
240test-suite hlint
241 default-language: Haskell2010
242 type: exitcode-stdio-1.0
243 main-is: hlint.hs
244 hs-source-dirs: test
245 build-depends: base
246 , directory
247 , filepath
248 , filemanip
249 , hlint (< 2.1 || >= 2.2.2) && < 3
250 if impl(ghcjs)
251 buildable: False
253test-suite EventWriterT
254 default-language: Haskell2010
255 type: exitcode-stdio-1.0
256 main-is: EventWriterT.hs
257 hs-source-dirs: test
258 build-depends: base
259 , containers
260 , deepseq
261 , dependent-map
262 , dependent-sum
263 , lens
264 , mtl
265 , these
266 , transformers
267 , reflex
268 , ref-tf
270 if flag(split-these)
271 build-depends: these-lens
273 other-modules:
274 Test.Run
277test-suite DebugCycles
278 default-language: Haskell2010
279 type: exitcode-stdio-1.0
280 main-is: DebugCycles.hs
281 hs-source-dirs: test
282 ghc-options: -threaded
283 build-depends: base
284 , containers
285 , deepseq
286 , dependent-map
287 , dependent-sum
288 , hspec
289 , lens
290 , mtl
291 , these
292 , transformers
293 , reflex
294 , ref-tf
295 , witherable
296 , proctest
299 if flag(split-these)
300 build-depends: these-lens, semialign
302 other-modules:
303 Test.Run
306test-suite RequesterT
307 default-language: Haskell2010
308 type: exitcode-stdio-1.0
309 main-is: RequesterT.hs
310 hs-source-dirs: test
311 build-depends: base
312 , constraints
313 , constraints-extras
314 , containers
315 , deepseq
316 , dependent-map
317 , dependent-sum
318 , lens
319 , mtl
320 , ref-tf
321 , reflex
322 , text
323 , these
324 , transformers
326 if flag(split-these)
327 build-depends: these-lens
329 other-modules:
330 Reflex.TestPlan
331 Reflex.Plan.Pure
332 Test.Run
334test-suite Adjustable
335 default-language: Haskell2010
336 type: exitcode-stdio-1.0
337 main-is: Adjustable.hs
338 hs-source-dirs: test
339 build-depends: base
340 , containers
341 , dependent-sum
342 , reflex
343 , ref-tf
344 , these
346 other-modules:
347 Test.Run
349test-suite QueryT
350 default-language: Haskell2010
351 type: exitcode-stdio-1.0
352 main-is: QueryT.hs
353 hs-source-dirs: test
354 build-depends: base
355 , containers
356 , dependent-map
357 , dependent-sum
358 , deepseq
359 , lens
360 , monoidal-containers
361 , mtl
362 , patch
363 , ref-tf
364 , reflex
365 , these
366 , transformers
368 if flag(split-these)
369 build-depends: semialign, these-lens
371 other-modules:
372 Test.Run
373 Reflex.TestPlan
374 Reflex.Plan.Reflex
375 Reflex.Plan.Pure
377test-suite GC-Semantics
378 default-language: Haskell2010
379 type: exitcode-stdio-1.0
380 main-is: GC.hs
381 hs-source-dirs: test
382 build-depends: base
383 , containers
384 , dependent-sum
385 , dependent-map
386 , deepseq
387 , mtl
388 , patch
389 , these
390 , transformers
391 , reflex
392 , ref-tf
394 if flag(split-these)
395 build-depends: semialign
397 other-modules:
398 Reflex.Plan.Pure
399 Reflex.Plan.Reflex
400 Reflex.TestPlan
401 Test.Run
403test-suite rootCleanup
404 default-language: Haskell2010
405 type: exitcode-stdio-1.0
406 main-is: rootCleanup.hs
407 hs-source-dirs: test
408 build-depends: base
409 , containers
410 , deepseq
411 , dependent-sum
412 , mtl
413 , reflex
414 , ref-tf
415 , these
416 other-modules:
417 Reflex.Plan.Pure
418 Reflex.TestPlan
419 Test.Run
421benchmark spider-bench
422 default-language: Haskell2010
423 type: exitcode-stdio-1.0
424 hs-source-dirs: bench test
425 main-is: Main.hs
426 ghc-options: -Wall -O2 -rtsopts
427 build-depends:
428 base,
429 containers,
430 criterion,
431 deepseq,
432 dependent-map,
433 dependent-sum,
434 ref-tf,
435 mtl,
436 primitive,
437 reflex,
438 split,
439 stm,
440 transformers
441 other-modules:
442 Reflex.TestPlan
443 Reflex.Plan.Reflex
444 Reflex.Bench.Focused
446benchmark saulzar-bench
447 default-language: Haskell2010
448 type: exitcode-stdio-1.0
449 hs-source-dirs: bench test
450 c-sources: bench-cbits/checkCapability.c
451 main-is: RunAll.hs
452 ghc-options: -Wall -O2 -rtsopts -threaded
453 build-depends:
454 base,
455 containers,
456 criterion,
457 deepseq,
458 dependent-map,
459 dependent-sum,
460 loch-th,
461 mtl,
462 primitive,
463 process,
464 ref-tf,
465 reflex,
466 split,
467 stm,
468 time,
469 transformers
470 other-modules:
471 Reflex.TestPlan
472 Reflex.Plan.Reflex
473 Reflex.Bench.Focused
475source-repository head
476 type: git
477 location: https://github.com/reflex-frp/reflex