on add-PubSub-module help sign in
reflex/reflex.cabal
476 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
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.PubSub,
131 Reflex.Pure,
132 Reflex.Query.Base,
133 Reflex.Query.Class,
134 Reflex.Requester.Base,
135 Reflex.Requester.Class,
136 Reflex.Spider,
137 Reflex.Spider.Internal,
138 Reflex.Time,
139 Reflex.TriggerEvent.Base,
140 Reflex.TriggerEvent.Class,
141 Reflex.Widget.Basic,
142 Reflex.Workflow
144 reexported-modules:
145 patch:Data.Functor.Misc,
146 patch:Data.Patch as Reflex.Patch,
147 patch:Data.Patch.Class as Reflex.Patch.Class,
148 patch:Data.Patch.DMap as Reflex.Patch.DMap,
149 patch:Data.Patch.DMapWithMove as Reflex.Patch.DMapWithMove,
150 patch:Data.Patch.IntMap as Reflex.Patch.IntMap,
151 patch:Data.Patch.Map as Reflex.Patch.Map,
152 patch:Data.Patch.MapWithMove as Reflex.Patch.MapWithMove
154 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
156 if flag(debug-trace-events)
157 cpp-options: -DDEBUG_TRACE_EVENTS
158 build-depends: bytestring
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: ghcjs-base
191test-suite semantics
192 default-language: Haskell2010
193 type: exitcode-stdio-1.0
194 main-is: semantics.hs
195 hs-source-dirs: test
196 ghc-options: -O2 -Wall -rtsopts
197 build-depends:
198 base,
199 bifunctors,
200 containers,
201 deepseq,
202 dependent-map,
203 dependent-sum,
204 mtl,
205 ref-tf,
206 reflex,
207 split,
208 transformers
209 other-modules:
210 Reflex.Bench.Focused
211 Reflex.Plan.Pure
212 Reflex.Plan.Reflex
213 Reflex.Test
214 Reflex.Test.Micro
215 Reflex.TestPlan
217test-suite CrossImpl
218 default-language: Haskell2010
219 type: exitcode-stdio-1.0
220 main-is: Reflex/Test/CrossImpl.hs
221 hs-source-dirs: test
222 ghc-options: -O2 -Wall -rtsopts
223 build-depends:
224 base,
225 containers,
226 dependent-map,
227 dependent-sum,
228 deepseq,
229 mtl,
230 transformers,
231 ref-tf,
232 reflex
233 other-modules:
234 Reflex.Test
235 Reflex.TestPlan
236 Reflex.Plan.Reflex
237 Reflex.Plan.Pure
239test-suite hlint
240 default-language: Haskell2010
241 type: exitcode-stdio-1.0
242 main-is: hlint.hs
243 hs-source-dirs: test
244 build-depends: base
245 , directory
246 , filepath
247 , filemanip
248 , hlint (< 2.1 || >= 2.2.2) && < 3
249 if impl(ghcjs)
250 buildable: False
252test-suite EventWriterT
253 default-language: Haskell2010
254 type: exitcode-stdio-1.0
255 main-is: EventWriterT.hs
256 hs-source-dirs: test
257 build-depends: base
258 , containers
259 , deepseq
260 , dependent-map
261 , dependent-sum
262 , lens
263 , mtl
264 , these
265 , transformers
266 , reflex
267 , ref-tf
269 if flag(split-these)
270 build-depends: these-lens
272 other-modules:
273 Test.Run
276test-suite DebugCycles
277 default-language: Haskell2010
278 type: exitcode-stdio-1.0
279 main-is: DebugCycles.hs
280 hs-source-dirs: test
281 ghc-options: -threaded
282 build-depends: base
283 , containers
284 , deepseq
285 , dependent-map
286 , dependent-sum
287 , hspec
288 , lens
289 , mtl
290 , these
291 , transformers
292 , reflex
293 , ref-tf
294 , witherable
295 , proctest
298 if flag(split-these)
299 build-depends: these-lens, semialign
301 other-modules:
302 Test.Run
305test-suite RequesterT
306 default-language: Haskell2010
307 type: exitcode-stdio-1.0
308 main-is: RequesterT.hs
309 hs-source-dirs: test
310 build-depends: base
311 , constraints
312 , constraints-extras
313 , containers
314 , deepseq
315 , dependent-map
316 , dependent-sum
317 , lens
318 , mtl
319 , ref-tf
320 , reflex
321 , text
322 , these
323 , transformers
325 if flag(split-these)
326 build-depends: these-lens
328 other-modules:
329 Reflex.TestPlan
330 Reflex.Plan.Pure
331 Test.Run
333test-suite Adjustable
334 default-language: Haskell2010
335 type: exitcode-stdio-1.0
336 main-is: Adjustable.hs
337 hs-source-dirs: test
338 build-depends: base
339 , containers
340 , dependent-sum
341 , reflex
342 , ref-tf
343 , these
345 other-modules:
346 Test.Run
348test-suite QueryT
349 default-language: Haskell2010
350 type: exitcode-stdio-1.0
351 main-is: QueryT.hs
352 hs-source-dirs: test
353 build-depends: base
354 , containers
355 , dependent-map
356 , dependent-sum
357 , deepseq
358 , lens
359 , monoidal-containers
360 , mtl
361 , patch
362 , ref-tf
363 , reflex
364 , these
365 , transformers
367 if flag(split-these)
368 build-depends: semialign, these-lens
370 other-modules:
371 Test.Run
372 Reflex.TestPlan
373 Reflex.Plan.Reflex
374 Reflex.Plan.Pure
376test-suite GC-Semantics
377 default-language: Haskell2010
378 type: exitcode-stdio-1.0
379 main-is: GC.hs
380 hs-source-dirs: test
381 build-depends: base
382 , containers
383 , dependent-sum
384 , dependent-map
385 , deepseq
386 , mtl
387 , patch
388 , these
389 , transformers
390 , reflex
391 , ref-tf
393 if flag(split-these)
394 build-depends: semialign
396 other-modules:
397 Reflex.Plan.Pure
398 Reflex.Plan.Reflex
399 Reflex.TestPlan
400 Test.Run
402test-suite rootCleanup
403 default-language: Haskell2010
404 type: exitcode-stdio-1.0
405 main-is: rootCleanup.hs
406 hs-source-dirs: test
407 build-depends: base
408 , containers
409 , deepseq
410 , dependent-sum
411 , mtl
412 , reflex
413 , ref-tf
414 , these
415 other-modules:
416 Reflex.Plan.Pure
417 Reflex.TestPlan
418 Test.Run
420benchmark spider-bench
421 default-language: Haskell2010
422 type: exitcode-stdio-1.0
423 hs-source-dirs: bench test
424 main-is: Main.hs
425 ghc-options: -Wall -O2 -rtsopts
426 build-depends:
427 base,
428 containers,
429 criterion,
430 deepseq,
431 dependent-map,
432 dependent-sum,
433 ref-tf,
434 mtl,
435 primitive,
436 reflex,
437 split,
438 stm,
439 transformers
440 other-modules:
441 Reflex.TestPlan
442 Reflex.Plan.Reflex
443 Reflex.Bench.Focused
445benchmark saulzar-bench
446 default-language: Haskell2010
447 type: exitcode-stdio-1.0
448 hs-source-dirs: bench test
449 c-sources: bench-cbits/checkCapability.c
450 main-is: RunAll.hs
451 ghc-options: -Wall -O2 -rtsopts -threaded
452 build-depends:
453 base,
454 containers,
455 criterion,
456 deepseq,
457 dependent-map,
458 dependent-sum,
459 loch-th,
460 mtl,
461 primitive,
462 process,
463 ref-tf,
464 reflex,
465 split,
466 stm,
467 time,
468 transformers
469 other-modules:
470 Reflex.TestPlan
471 Reflex.Plan.Reflex
472 Reflex.Bench.Focused
474source-repository head
475 type: git
476 location: https://github.com/reflex-frp/reflex