on ea67b1d help sign in
patch/reflex.cabal
401 lines 9.3 kB history raw
1Name: reflex
2Version: 0.6.2.4
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 profunctors,
68 random == 1.1.*,
69 ref-tf == 0.4.*,
70 reflection == 2.1.*,
71 semigroupoids >= 4.0 && < 6,
72 stm >= 2.4 && < 2.6,
73 syb >= 0.5 && < 0.8,
74 time >= 1.4 && < 1.9,
75 transformers >= 0.5.6.0 && < 0.6,
76 unbounded-delays >= 0.1.0.0 && < 0.2,
77 witherable >= 0.3 && < 0.3.2
79 if flag(split-these)
80 build-depends: these >= 1 && <1.1,
81 semialign >=1 && <1.1,
82 monoidal-containers >= 0.6 && < 0.7
83 else
84 build-depends: these >= 0.4 && <0.9,
85 monoidal-containers == 0.4.0.0
87 exposed-modules:
88 Control.Monad.ReaderIO
89 Data.AppendMap,
90 Data.FastMutableIntMap,
91 Data.FastWeakBag,
92 Data.Functor.Misc,
93 Data.Map.Misc,
94 Data.WeakBag,
95 Reflex,
96 Reflex.Class,
97 Reflex.Adjustable.Class,
98 Reflex.BehaviorWriter.Base,
99 Reflex.BehaviorWriter.Class,
100 Reflex.Collection,
101 Reflex.Dynamic,
102 Reflex.Dynamic.Uniq,
103 Reflex.DynamicWriter,
104 Reflex.DynamicWriter.Base,
105 Reflex.DynamicWriter.Class,
106 Reflex.EventWriter,
107 Reflex.EventWriter.Base,
108 Reflex.EventWriter.Class,
109 Reflex.FastWeak,
110 Reflex.FunctorMaybe,
111 Reflex.Host.Class,
112 Reflex.Network,
113 Reflex.NotReady.Class,
114 Reflex.Patch,
115 Reflex.Patch.Class,
116 Reflex.Patch.DMap,
117 Reflex.Patch.DMapWithMove,
118 Reflex.Patch.IntMap,
119 Reflex.Patch.Map,
120 Reflex.Patch.MapWithMove,
121 Reflex.Patch.MapWithMove2,
122 Reflex.PerformEvent.Base,
123 Reflex.PerformEvent.Class,
124 Reflex.PostBuild.Base,
125 Reflex.PostBuild.Class,
126 Reflex.Profiled,
127 Reflex.Pure,
128 Reflex.Query.Base,
129 Reflex.Query.Class,
130 Reflex.Requester.Base,
131 Reflex.Requester.Class,
132 Reflex.Spider,
133 Reflex.Spider.Internal,
134 Reflex.Time,
135 Reflex.TriggerEvent.Base,
136 Reflex.TriggerEvent.Class,
137 Reflex.Widget.Basic,
138 Reflex.Workflow
140 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
142 if flag(debug-trace-events)
143 cpp-options: -DDEBUG_TRACE_EVENTS
144 build-depends: bytestring
146 if flag(use-reflex-optimizer)
147 cpp-options: -DUSE_REFLEX_OPTIMIZER
148 build-depends: ghc
149 exposed-modules: Reflex.Optimizer
151 if flag(use-template-haskell)
152 cpp-options: -DUSE_TEMPLATE_HASKELL
153 build-depends:
154 dependent-sum >= 0.6 && < 0.7,
155 haskell-src-exts >= 1.16 && < 1.22,
156 haskell-src-meta >= 0.6 && < 0.9,
157 template-haskell >= 2.9 && < 2.15
158 exposed-modules:
159 Reflex.Dynamic.TH
160 other-extensions: TemplateHaskell
161 else
162 build-depends:
163 dependent-sum >= 0.6 && < 0.7
165 if flag(fast-weak) && impl(ghcjs)
166 cpp-options: -DGHCJS_FAST_WEAK
168 if impl(ghcjs)
169 build-depends: ghcjs-base
171test-suite semantics
172 type: exitcode-stdio-1.0
173 main-is: semantics.hs
174 hs-source-dirs: test
175 ghc-options: -O2 -Wall -rtsopts
176 build-depends:
177 base,
178 bifunctors,
179 containers,
180 deepseq,
181 dependent-map,
182 dependent-sum,
183 mtl,
184 ref-tf,
185 reflex,
186 split,
187 transformers
188 other-modules:
189 Reflex.Bench.Focused
190 Reflex.Plan.Pure
191 Reflex.Plan.Reflex
192 Reflex.Test
193 Reflex.Test.Micro
194 Reflex.TestPlan
196test-suite CrossImpl
197 type: exitcode-stdio-1.0
198 main-is: Reflex/Test/CrossImpl.hs
199 hs-source-dirs: test
200 ghc-options: -O2 -Wall -rtsopts
201 build-depends:
202 base,
203 containers,
204 dependent-map,
205 dependent-sum,
206 deepseq,
207 mtl,
208 transformers,
209 ref-tf,
210 reflex
211 other-modules:
212 Reflex.Test
213 Reflex.TestPlan
214 Reflex.Plan.Reflex
215 Reflex.Plan.Pure
217test-suite hlint
218 type: exitcode-stdio-1.0
219 main-is: hlint.hs
220 hs-source-dirs: test
221 build-depends: base
222 , directory
223 , filepath
224 , filemanip
225 , hlint < 2.1 || >= 2.2.2
226 if impl(ghcjs)
227 buildable: False
229test-suite EventWriterT
230 type: exitcode-stdio-1.0
231 main-is: EventWriterT.hs
232 hs-source-dirs: test
233 build-depends: base
234 , containers
235 , deepseq
236 , dependent-map
237 , dependent-sum
238 , lens
239 , mtl
240 , these
241 , transformers
242 , reflex
243 , ref-tf
245 if flag(split-these)
246 build-depends: these-lens
248 other-modules:
249 Reflex.Test
250 Reflex.TestPlan
251 Reflex.Plan.Reflex
252 Reflex.Plan.Pure
253 Test.Run
256test-suite RequesterT
257 type: exitcode-stdio-1.0
258 main-is: RequesterT.hs
259 hs-source-dirs: test
260 build-depends: base
261 , containers
262 , deepseq
263 , dependent-sum
264 , dependent-map
265 , lens
266 , mtl
267 , these
268 , transformers
269 , reflex
270 , ref-tf
272 if flag(split-these)
273 build-depends: these-lens
275 other-modules:
276 Reflex.TestPlan
277 Reflex.Plan.Pure
278 Test.Run
280test-suite QueryT
281 type: exitcode-stdio-1.0
282 main-is: QueryT.hs
283 hs-source-dirs: test
284 build-depends: base
285 , containers
286 , dependent-map
287 , dependent-sum
288 , deepseq
289 , lens
290 , monoidal-containers
291 , mtl
292 , ref-tf
293 , reflex
294 , these
295 , transformers
297 if flag(split-these)
298 build-depends: semialign, these-lens
300 other-modules:
301 Test.Run
302 Reflex.TestPlan
303 Reflex.Plan.Reflex
304 Reflex.Plan.Pure
306test-suite GC-Semantics
307 type: exitcode-stdio-1.0
308 main-is: GC.hs
309 hs-source-dirs: test
310 build-depends: base
311 , containers
312 , dependent-sum
313 , dependent-map
314 , deepseq
315 , mtl
316 , these
317 , transformers
318 , reflex
319 , ref-tf
321 if flag(split-these)
322 build-depends: semialign
324 other-modules:
325 Reflex.Plan.Pure
326 Reflex.Plan.Reflex
327 Reflex.TestPlan
328 Test.Run
330test-suite rootCleanup
331 type: exitcode-stdio-1.0
332 main-is: rootCleanup.hs
333 hs-source-dirs: test
334 build-depends: base
335 , containers
336 , deepseq
337 , dependent-sum
338 , mtl
339 , reflex
340 , ref-tf
341 , these
342 other-modules:
343 Reflex.Plan.Pure
344 Reflex.TestPlan
345 Test.Run
347benchmark spider-bench
348 type: exitcode-stdio-1.0
349 hs-source-dirs: bench test
350 main-is: Main.hs
351 ghc-options: -Wall -O2 -rtsopts
352 build-depends:
353 base,
354 containers,
355 criterion,
356 deepseq,
357 dependent-map,
358 dependent-sum,
359 ref-tf,
360 mtl,
361 primitive,
362 reflex,
363 split,
364 stm,
365 transformers
366 other-modules:
367 Reflex.TestPlan
368 Reflex.Plan.Reflex
369 Reflex.Bench.Focused
371benchmark saulzar-bench
372 type: exitcode-stdio-1.0
373 hs-source-dirs: bench test
374 c-sources: bench-cbits/checkCapability.c
375 main-is: RunAll.hs
376 ghc-options: -Wall -O2 -rtsopts -threaded
377 build-depends:
378 base,
379 containers,
380 criterion,
381 deepseq,
382 dependent-map,
383 dependent-sum,
384 loch-th,
385 mtl,
386 primitive,
387 process,
388 ref-tf,
389 reflex,
390 split,
391 stm,
392 time,
393 transformers
394 other-modules:
395 Reflex.TestPlan
396 Reflex.Plan.Reflex
397 Reflex.Bench.Focused
399source-repository head
400 type: git
401 location: https://github.com/reflex-frp/reflex