on travis-testing help sign in
reflex/reflex.cabal
400 lines 9.3 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 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.2 && < 0.3
79 if flag(split-these)
80 build-depends: these >= 1 && <1.1,
81 semialign >=1 && <1.1,
82 monoidal-containers >= 0.5.0.1 && < 0.6
83 else
84 build-depends: these >= 0.4 && <0.9,
85 monoidal-containers == 0.5.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.PerformEvent.Base,
122 Reflex.PerformEvent.Class,
123 Reflex.PostBuild.Base,
124 Reflex.PostBuild.Class,
125 Reflex.Profiled,
126 Reflex.Pure,
127 Reflex.Query.Base,
128 Reflex.Query.Class,
129 Reflex.Requester.Base,
130 Reflex.Requester.Class,
131 Reflex.Spider,
132 Reflex.Spider.Internal,
133 Reflex.Time,
134 Reflex.TriggerEvent.Base,
135 Reflex.TriggerEvent.Class,
136 Reflex.Widget.Basic,
137 Reflex.Workflow
139 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
141 if flag(debug-trace-events)
142 cpp-options: -DDEBUG_TRACE_EVENTS
143 build-depends: bytestring
145 if flag(use-reflex-optimizer)
146 cpp-options: -DUSE_REFLEX_OPTIMIZER
147 build-depends: ghc
148 exposed-modules: Reflex.Optimizer
150 if flag(use-template-haskell)
151 cpp-options: -DUSE_TEMPLATE_HASKELL
152 build-depends:
153 dependent-sum >= 0.6 && < 0.7,
154 haskell-src-exts >= 1.16 && < 1.22,
155 haskell-src-meta >= 0.6 && < 0.9,
156 template-haskell >= 2.9 && < 2.15
157 exposed-modules:
158 Reflex.Dynamic.TH
159 other-extensions: TemplateHaskell
160 else
161 build-depends:
162 dependent-sum >= 0.6 && < 0.7
164 if flag(fast-weak) && impl(ghcjs)
165 cpp-options: -DGHCJS_FAST_WEAK
167 if impl(ghcjs)
168 build-depends: ghcjs-base
170test-suite semantics
171 type: exitcode-stdio-1.0
172 main-is: semantics.hs
173 hs-source-dirs: test
174 ghc-options: -O2 -Wall -rtsopts
175 build-depends:
176 base,
177 bifunctors,
178 containers,
179 deepseq,
180 dependent-map,
181 dependent-sum,
182 mtl,
183 ref-tf,
184 reflex,
185 split,
186 transformers
187 other-modules:
188 Reflex.Bench.Focused
189 Reflex.Plan.Pure
190 Reflex.Plan.Reflex
191 Reflex.Test
192 Reflex.Test.Micro
193 Reflex.TestPlan
195test-suite CrossImpl
196 type: exitcode-stdio-1.0
197 main-is: Reflex/Test/CrossImpl.hs
198 hs-source-dirs: test
199 ghc-options: -O2 -Wall -rtsopts
200 build-depends:
201 base,
202 containers,
203 dependent-map,
204 dependent-sum,
205 deepseq,
206 mtl,
207 transformers,
208 ref-tf,
209 reflex
210 other-modules:
211 Reflex.Test
212 Reflex.TestPlan
213 Reflex.Plan.Reflex
214 Reflex.Plan.Pure
216test-suite hlint
217 type: exitcode-stdio-1.0
218 main-is: hlint.hs
219 hs-source-dirs: test
220 build-depends: base
221 , directory
222 , filepath
223 , filemanip
224 , hlint < 2.1 || >= 2.2.2
225 if impl(ghcjs)
226 buildable: False
228test-suite EventWriterT
229 type: exitcode-stdio-1.0
230 main-is: EventWriterT.hs
231 hs-source-dirs: test
232 build-depends: base
233 , containers
234 , deepseq
235 , dependent-map
236 , dependent-sum
237 , lens
238 , mtl
239 , these
240 , transformers
241 , reflex
242 , ref-tf
244 if flag(split-these)
245 build-depends: these-lens
247 other-modules:
248 Reflex.Test
249 Reflex.TestPlan
250 Reflex.Plan.Reflex
251 Reflex.Plan.Pure
252 Test.Run
255test-suite RequesterT
256 type: exitcode-stdio-1.0
257 main-is: RequesterT.hs
258 hs-source-dirs: test
259 build-depends: base
260 , containers
261 , deepseq
262 , dependent-sum
263 , dependent-map
264 , lens
265 , mtl
266 , these
267 , transformers
268 , reflex
269 , ref-tf
271 if flag(split-these)
272 build-depends: these-lens
274 other-modules:
275 Reflex.TestPlan
276 Reflex.Plan.Pure
277 Test.Run
279test-suite QueryT
280 type: exitcode-stdio-1.0
281 main-is: QueryT.hs
282 hs-source-dirs: test
283 build-depends: base
284 , containers
285 , dependent-map
286 , dependent-sum
287 , deepseq
288 , lens
289 , monoidal-containers
290 , mtl
291 , ref-tf
292 , reflex
293 , these
294 , transformers
296 if flag(split-these)
297 build-depends: semialign, these-lens
299 other-modules:
300 Test.Run
301 Reflex.TestPlan
302 Reflex.Plan.Reflex
303 Reflex.Plan.Pure
305test-suite GC-Semantics
306 type: exitcode-stdio-1.0
307 main-is: GC.hs
308 hs-source-dirs: test
309 build-depends: base
310 , containers
311 , dependent-sum
312 , dependent-map
313 , deepseq
314 , mtl
315 , these
316 , transformers
317 , reflex
318 , ref-tf
320 if flag(split-these)
321 build-depends: semialign
323 other-modules:
324 Reflex.Plan.Pure
325 Reflex.Plan.Reflex
326 Reflex.TestPlan
327 Test.Run
329test-suite rootCleanup
330 type: exitcode-stdio-1.0
331 main-is: rootCleanup.hs
332 hs-source-dirs: test
333 build-depends: base
334 , containers
335 , deepseq
336 , dependent-sum
337 , mtl
338 , reflex
339 , ref-tf
340 , these
341 other-modules:
342 Reflex.Plan.Pure
343 Reflex.TestPlan
344 Test.Run
346benchmark spider-bench
347 type: exitcode-stdio-1.0
348 hs-source-dirs: bench test
349 main-is: Main.hs
350 ghc-options: -Wall -O2 -rtsopts
351 build-depends:
352 base,
353 containers,
354 criterion,
355 deepseq,
356 dependent-map,
357 dependent-sum,
358 ref-tf,
359 mtl,
360 primitive,
361 reflex,
362 split,
363 stm,
364 transformers
365 other-modules:
366 Reflex.TestPlan
367 Reflex.Plan.Reflex
368 Reflex.Bench.Focused
370benchmark saulzar-bench
371 type: exitcode-stdio-1.0
372 hs-source-dirs: bench test
373 c-sources: bench-cbits/checkCapability.c
374 main-is: RunAll.hs
375 ghc-options: -Wall -O2 -rtsopts -threaded
376 build-depends:
377 base,
378 containers,
379 criterion,
380 deepseq,
381 dependent-map,
382 dependent-sum,
383 loch-th,
384 mtl,
385 primitive,
386 process,
387 ref-tf,
388 reflex,
389 split,
390 stm,
391 time,
392 transformers
393 other-modules:
394 Reflex.TestPlan
395 Reflex.Plan.Reflex
396 Reflex.Bench.Focused
398source-repository head
399 type: git
400 location: https://github.com/reflex-frp/reflex