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