on 3ca5d07 help sign in
reflex/reflex.cabal
398 lines 9.2 kB history raw
1Name: reflex
2Version: 0.6.2.2
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.9.2
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,
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 split-these
45 description: Use split these/semialign packages
46 manual: False
47 default: True
49library
50 hs-source-dirs: src
51 build-depends:
52 MemoTrie == 0.6.*,
53 base >= 4.9 && < 4.13,
54 bifunctors >= 5.2 && < 5.6,
55 comonad >= 5.0.4 && < 5.1,
56 constraints-extras >= 0.3 && < 0.4,
57 containers >= 0.6 && < 0.7,
58 data-default >= 0.5 && < 0.8,
59 dependent-map >= 0.3 && < 0.4,
60 exception-transformers == 0.4.*,
61 profunctors >= 5.3 && < 5.5,
62 lens >= 4.7 && < 5,
63 monad-control >= 1.0.1 && < 1.1,
64 mtl >= 2.1 && < 2.3,
65 prim-uniq >= 0.1.0.1 && < 0.2,
66 primitive >= 0.5 && < 0.8,
67 random == 1.1.*,
68 ref-tf == 0.4.*,
69 reflection == 2.1.*,
70 semigroupoids >= 4.0 && < 6,
71 stm >= 2.4 && < 2.6,
72 syb >= 0.5 && < 0.8,
73 time >= 1.4 && < 1.9,
74 transformers >= 0.5.6.0 && < 0.6,
75 unbounded-delays >= 0.1.0.0 && < 0.2,
76 witherable >= 0.2 && < 0.4
78 if flag(split-these)
79 build-depends: these >= 1 && <1.1,
80 semialign >=1 && <1.1,
81 monoidal-containers >= 0.5.0.1 && < 0.6
82 else
83 build-depends: these >= 0.4 && <0.9,
84 monoidal-containers == 0.5.0.0
86 exposed-modules:
87 Data.AppendMap,
88 Data.FastMutableIntMap,
89 Data.FastWeakBag,
90 Data.Functor.Misc,
91 Data.Map.Misc,
92 Data.WeakBag,
93 Reflex,
94 Reflex.Class,
95 Reflex.Adjustable.Class,
96 Reflex.BehaviorWriter.Base,
97 Reflex.BehaviorWriter.Class,
98 Reflex.Collection,
99 Reflex.Dynamic,
100 Reflex.Dynamic.Uniq,
101 Reflex.DynamicWriter,
102 Reflex.DynamicWriter.Base,
103 Reflex.DynamicWriter.Class,
104 Reflex.EventWriter,
105 Reflex.EventWriter.Base,
106 Reflex.EventWriter.Class,
107 Reflex.FastWeak,
108 Reflex.FunctorMaybe,
109 Reflex.Host.Class,
110 Reflex.Network,
111 Reflex.NotReady.Class,
112 Reflex.Patch,
113 Reflex.Patch.Class,
114 Reflex.Patch.DMap,
115 Reflex.Patch.DMapWithMove,
116 Reflex.Patch.IntMap,
117 Reflex.Patch.Map,
118 Reflex.Patch.MapWithMove,
119 Reflex.PerformEvent.Base,
120 Reflex.PerformEvent.Class,
121 Reflex.PostBuild.Base,
122 Reflex.PostBuild.Class,
123 Reflex.Profiled,
124 Reflex.Pure,
125 Reflex.Query.Base,
126 Reflex.Query.Class,
127 Reflex.Requester.Base,
128 Reflex.Requester.Class,
129 Reflex.Spider,
130 Reflex.Spider.Internal,
131 Reflex.Time,
132 Reflex.TriggerEvent.Base,
133 Reflex.TriggerEvent.Class,
134 Reflex.Widget.Basic,
135 Reflex.Workflow
137 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
139 if flag(debug-trace-events)
140 cpp-options: -DDEBUG_TRACE_EVENTS
141 build-depends: bytestring
143 if flag(use-reflex-optimizer)
144 cpp-options: -DUSE_REFLEX_OPTIMIZER
145 build-depends: ghc
146 exposed-modules: Reflex.Optimizer
148 if flag(use-template-haskell)
149 cpp-options: -DUSE_TEMPLATE_HASKELL
150 build-depends:
151 dependent-sum >= 0.6 && < 0.7,
152 haskell-src-exts >= 1.16 && < 1.22,
153 haskell-src-meta >= 0.6 && < 0.9,
154 template-haskell >= 2.9 && < 2.15
155 exposed-modules:
156 Reflex.Dynamic.TH
157 other-extensions: TemplateHaskell
158 else
159 build-depends:
160 dependent-sum >= 0.6 && < 0.7
162 if flag(fast-weak) && impl(ghcjs)
163 cpp-options: -DGHCJS_FAST_WEAK
165 if impl(ghcjs)
166 build-depends: ghcjs-base
168test-suite semantics
169 type: exitcode-stdio-1.0
170 main-is: semantics.hs
171 hs-source-dirs: test
172 ghc-options: -O2 -Wall -rtsopts
173 build-depends:
174 base,
175 bifunctors,
176 containers,
177 deepseq,
178 dependent-map,
179 dependent-sum,
180 mtl,
181 ref-tf,
182 reflex,
183 split,
184 transformers
185 other-modules:
186 Reflex.Bench.Focused
187 Reflex.Plan.Pure
188 Reflex.Plan.Reflex
189 Reflex.Test
190 Reflex.Test.Micro
191 Reflex.TestPlan
193test-suite CrossImpl
194 type: exitcode-stdio-1.0
195 main-is: Reflex/Test/CrossImpl.hs
196 hs-source-dirs: test
197 ghc-options: -O2 -Wall -rtsopts
198 build-depends:
199 base,
200 containers,
201 dependent-map,
202 dependent-sum,
203 deepseq,
204 mtl,
205 transformers,
206 ref-tf,
207 reflex
208 other-modules:
209 Reflex.Test
210 Reflex.TestPlan
211 Reflex.Plan.Reflex
212 Reflex.Plan.Pure
214test-suite hlint
215 type: exitcode-stdio-1.0
216 main-is: hlint.hs
217 hs-source-dirs: test
218 build-depends: base
219 , directory
220 , filepath
221 , filemanip
222 , hlint >= 2.2.2 && < 2.3
223 if impl(ghcjs)
224 buildable: False
226test-suite EventWriterT
227 type: exitcode-stdio-1.0
228 main-is: EventWriterT.hs
229 hs-source-dirs: test
230 build-depends: base
231 , containers
232 , deepseq
233 , dependent-map
234 , dependent-sum
235 , lens
236 , mtl
237 , these
238 , transformers
239 , reflex
240 , ref-tf
242 if flag(split-these)
243 build-depends: these-lens
245 other-modules:
246 Reflex.Test
247 Reflex.TestPlan
248 Reflex.Plan.Reflex
249 Reflex.Plan.Pure
250 Test.Run
253test-suite RequesterT
254 type: exitcode-stdio-1.0
255 main-is: RequesterT.hs
256 hs-source-dirs: test
257 build-depends: base
258 , containers
259 , deepseq
260 , dependent-sum
261 , dependent-map
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 Reflex.TestPlan
274 Reflex.Plan.Pure
275 Test.Run
277test-suite QueryT
278 type: exitcode-stdio-1.0
279 main-is: QueryT.hs
280 hs-source-dirs: test
281 build-depends: base
282 , containers
283 , dependent-map
284 , dependent-sum
285 , deepseq
286 , lens
287 , monoidal-containers
288 , mtl
289 , ref-tf
290 , reflex
291 , these
292 , transformers
294 if flag(split-these)
295 build-depends: semialign, these-lens
297 other-modules:
298 Test.Run
299 Reflex.TestPlan
300 Reflex.Plan.Reflex
301 Reflex.Plan.Pure
303test-suite GC-Semantics
304 type: exitcode-stdio-1.0
305 main-is: GC.hs
306 hs-source-dirs: test
307 build-depends: base
308 , containers
309 , dependent-sum
310 , dependent-map
311 , deepseq
312 , mtl
313 , these
314 , transformers
315 , reflex
316 , ref-tf
318 if flag(split-these)
319 build-depends: semialign
321 other-modules:
322 Reflex.Plan.Pure
323 Reflex.Plan.Reflex
324 Reflex.TestPlan
325 Test.Run
327test-suite rootCleanup
328 type: exitcode-stdio-1.0
329 main-is: rootCleanup.hs
330 hs-source-dirs: test
331 build-depends: base
332 , containers
333 , deepseq
334 , dependent-sum
335 , mtl
336 , reflex
337 , ref-tf
338 , these
339 other-modules:
340 Reflex.Plan.Pure
341 Reflex.TestPlan
342 Test.Run
344benchmark spider-bench
345 type: exitcode-stdio-1.0
346 hs-source-dirs: bench test
347 main-is: Main.hs
348 ghc-options: -Wall -O2 -rtsopts
349 build-depends:
350 base,
351 containers,
352 criterion,
353 deepseq,
354 dependent-map,
355 dependent-sum,
356 ref-tf,
357 mtl,
358 primitive,
359 reflex,
360 split,
361 stm,
362 transformers
363 other-modules:
364 Reflex.TestPlan
365 Reflex.Plan.Reflex
366 Reflex.Bench.Focused
368benchmark saulzar-bench
369 type: exitcode-stdio-1.0
370 hs-source-dirs: bench test
371 c-sources: bench-cbits/checkCapability.c
372 main-is: RunAll.hs
373 ghc-options: -Wall -O2 -rtsopts -threaded
374 build-depends:
375 base,
376 containers,
377 criterion,
378 deepseq,
379 dependent-map,
380 dependent-sum,
381 loch-th,
382 mtl,
383 primitive,
384 process,
385 ref-tf,
386 reflex,
387 split,
388 stm,
389 time,
390 transformers
391 other-modules:
392 Reflex.TestPlan
393 Reflex.Plan.Reflex
394 Reflex.Bench.Focused
396source-repository head
397 type: git
398 location: https://github.com/reflex-frp/reflex