on aa-haddock-coverage help sign in
reflex/reflex.cabal
368 lines 8.8 kB history raw
1Name: reflex
2Version: 0.6.1
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
20flag use-reflex-optimizer
21 description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.
22 default: False
23 manual: True
25flag use-template-haskell
26 description: Use template haskell to generate lenses
27 default: True
28 manual: True
30flag debug-trace-events
31 description: Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow!
32 default: False
33 manual: True
35flag fast-weak
36 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
37 default: False
38 manual: True
40library
41 hs-source-dirs: src
42 build-depends:
43 MemoTrie == 0.6.*,
44 base >= 4.9 && < 4.13,
45 bifunctors >= 5.2 && < 5.6,
46 comonad,
47 containers >= 0.5 && < 0.7,
48 data-default >= 0.5 && < 0.8,
49 dependent-map >= 0.2.4 && < 0.3,
50 exception-transformers == 0.4.*,
51 lens >= 4.7 && < 5,
52 monad-control >= 1.0.1 && < 1.1,
53 monoidal-containers == 0.4.*,
54 mtl >= 2.1 && < 2.3,
55 prim-uniq >= 0.1.0.1 && < 0.2,
56 primitive >= 0.5 && < 0.7,
57 random == 1.1.*,
58 ref-tf == 0.4.*,
59 reflection == 2.1.*,
60 semigroupoids >= 4.0 && < 6,
61 semigroups >= 0.16 && < 0.19,
62 stm >= 2.4 && < 2.6,
63 syb >= 0.5 && < 0.8,
64 these >= 0.4 && < 0.7.7,
65 time >= 1.4 && < 1.9,
66 transformers >= 0.2,
67 transformers-compat >= 0.3,
68 unbounded-delays >= 0.1.0.0 && < 0.2,
69 witherable >= 0.2 && < 0.4
71 exposed-modules:
72 Data.AppendMap,
73 Data.FastMutableIntMap,
74 Data.FastWeakBag,
75 Data.Functor.Misc,
76 Data.Map.Misc,
77 Data.WeakBag,
78 Reflex,
79 Reflex.Class,
80 Reflex.Adjustable.Class,
81 Reflex.BehaviorWriter.Base,
82 Reflex.BehaviorWriter.Class,
83 Reflex.Collection,
84 Reflex.Dynamic,
85 Reflex.Dynamic.Uniq,
86 Reflex.DynamicWriter,
87 Reflex.DynamicWriter.Base,
88 Reflex.DynamicWriter.Class,
89 Reflex.EventWriter,
90 Reflex.EventWriter.Base,
91 Reflex.EventWriter.Class,
92 Reflex.FastWeak,
93 Reflex.FunctorMaybe,
94 Reflex.Host.Class,
95 Reflex.Network,
96 Reflex.NotReady.Class,
97 Reflex.Patch,
98 Reflex.Patch.Class,
99 Reflex.Patch.DMap,
100 Reflex.Patch.DMapWithMove,
101 Reflex.Patch.IntMap,
102 Reflex.Patch.Map,
103 Reflex.Patch.MapWithMove,
104 Reflex.PerformEvent.Base,
105 Reflex.PerformEvent.Class,
106 Reflex.PostBuild.Base,
107 Reflex.PostBuild.Class,
108 Reflex.Profiled,
109 Reflex.Pure,
110 Reflex.Query.Base,
111 Reflex.Query.Class,
112 Reflex.Requester.Base,
113 Reflex.Requester.Class,
114 Reflex.Spider,
115 Reflex.Spider.Internal,
116 Reflex.Time,
117 Reflex.TriggerEvent.Base,
118 Reflex.TriggerEvent.Class,
119 Reflex.Widget.Basic,
120 Reflex.Workflow
122 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
124 if flag(debug-trace-events)
125 cpp-options: -DDEBUG_TRACE_EVENTS
126 build-depends: bytestring
128 if flag(use-reflex-optimizer)
129 cpp-options: -DUSE_REFLEX_OPTIMIZER
130 build-depends: ghc
131 exposed-modules: Reflex.Optimizer
133 if flag(use-template-haskell)
134 cpp-options: -DUSE_TEMPLATE_HASKELL
135 build-depends:
136 dependent-sum >= 0.3 && < 0.5,
137 haskell-src-exts >= 1.16 && < 1.21,
138 haskell-src-meta >= 0.6 && < 0.9,
139 template-haskell >= 2.9 && < 2.15
140 exposed-modules:
141 Reflex.Dynamic.TH
142 other-extensions: TemplateHaskell
143 else
144 build-depends:
145 dependent-sum == 0.4.*
147 if flag(fast-weak) && impl(ghcjs)
148 cpp-options: -DGHCJS_FAST_WEAK
150 if impl(ghcjs)
151 build-depends: ghcjs-base
153test-suite semantics
154 type: exitcode-stdio-1.0
155 main-is: semantics.hs
156 hs-source-dirs: test
157 ghc-options: -O2 -Wall -rtsopts
158 build-depends:
159 base,
160 bifunctors,
161 containers,
162 deepseq >= 1.3 && < 1.5,
163 dependent-map,
164 dependent-sum,
165 mtl,
166 ref-tf,
167 reflex,
168 split,
169 transformers >= 0.3
170 other-modules:
171 Reflex.Bench.Focused
172 Reflex.Plan.Pure
173 Reflex.Plan.Reflex
174 Reflex.Test
175 Reflex.Test.Micro
176 Reflex.TestPlan
178test-suite CrossImpl
179 type: exitcode-stdio-1.0
180 main-is: Reflex/Test/CrossImpl.hs
181 hs-source-dirs: test
182 ghc-options: -O2 -Wall -rtsopts
183 build-depends:
184 base,
185 containers,
186 dependent-map,
187 dependent-sum,
188 deepseq >= 1.3 && < 1.5,
189 mtl,
190 transformers,
191 ref-tf,
192 reflex
193 other-modules:
194 Reflex.Test
195 Reflex.TestPlan
196 Reflex.Plan.Reflex
197 Reflex.Plan.Pure
199test-suite hlint
200 type: exitcode-stdio-1.0
201 main-is: hlint.hs
202 hs-source-dirs: test
203 build-depends: base
204 , directory
205 , filepath
206 , filemanip
207 , hlint
208 if impl(ghcjs)
209 buildable: False
211test-suite EventWriterT
212 type: exitcode-stdio-1.0
213 main-is: EventWriterT.hs
214 hs-source-dirs: test
215 build-depends: base
216 , containers
217 , deepseq >= 1.3 && < 1.5
218 , dependent-map
219 , dependent-sum
220 , lens
221 , mtl
222 , these
223 , transformers
224 , reflex
225 , ref-tf
226 other-modules:
227 Reflex.Test
228 Reflex.TestPlan
229 Reflex.Plan.Reflex
230 Reflex.Plan.Pure
231 Test.Run
233test-suite RequesterT
234 type: exitcode-stdio-1.0
235 main-is: RequesterT.hs
236 hs-source-dirs: test
237 build-depends: base
238 , containers
239 , deepseq >= 1.3 && < 1.5
240 , dependent-sum
241 , dependent-map
242 , lens
243 , mtl
244 , these
245 , transformers
246 , reflex
247 , ref-tf
248 other-modules:
249 Reflex.TestPlan
250 Reflex.Plan.Pure
252test-suite QueryT
253 type: exitcode-stdio-1.0
254 main-is: QueryT.hs
255 hs-source-dirs: test
256 build-depends: base
257 , containers
258 , dependent-map
259 , dependent-sum
260 , deepseq >= 1.3 && < 1.5
261 , lens
262 , monoidal-containers
263 , mtl
264 , ref-tf
265 , reflex
266 , semigroups
267 , these
268 , transformers
269 other-modules:
270 Test.Run
271 Reflex.TestPlan
272 Reflex.Plan.Reflex
273 Reflex.Plan.Pure
275test-suite GC-Semantics
276 type: exitcode-stdio-1.0
277 main-is: GC.hs
278 hs-source-dirs: test
279 build-depends: base
280 , containers
281 , dependent-sum
282 , dependent-map
283 , deepseq >= 1.3 && < 1.5
284 , mtl
285 , these
286 , transformers
287 , reflex
288 , ref-tf
289 if impl(ghc < 8)
290 build-depends: semigroups
291 other-modules:
292 Reflex.Plan.Pure
293 Reflex.Plan.Reflex
294 Reflex.TestPlan
295 Test.Run
297test-suite rootCleanup
298 type: exitcode-stdio-1.0
299 main-is: rootCleanup.hs
300 hs-source-dirs: test
301 build-depends: base
302 , containers
303 , deepseq >= 1.3 && < 1.5
304 , dependent-sum
305 , mtl
306 , reflex
307 , ref-tf
308 , these
309 other-modules:
310 Reflex.Plan.Pure
311 Reflex.TestPlan
312 Test.Run
314benchmark spider-bench
315 type: exitcode-stdio-1.0
316 hs-source-dirs: bench test
317 main-is: Main.hs
318 ghc-options: -Wall -O2 -rtsopts
319 build-depends:
320 base,
321 containers,
322 criterion >= 1.1 && < 1.6,
323 deepseq >= 1.3 && < 1.5,
324 dependent-map,
325 dependent-sum,
326 ref-tf,
327 mtl,
328 primitive,
329 reflex,
330 split,
331 stm,
332 transformers >= 0.3
333 other-modules:
334 Reflex.TestPlan
335 Reflex.Plan.Reflex
336 Reflex.Bench.Focused
338benchmark saulzar-bench
339 type: exitcode-stdio-1.0
340 hs-source-dirs: bench test
341 c-sources: bench-cbits/checkCapability.c
342 main-is: RunAll.hs
343 ghc-options: -Wall -O2 -rtsopts -threaded
344 build-depends:
345 base,
346 containers >= 0.5 && < 0.7,
347 criterion >= 1.1 && < 1.6,
348 deepseq >= 1.3 && < 1.5,
349 dependent-map,
350 dependent-sum,
351 loch-th,
352 mtl,
353 primitive,
354 process,
355 ref-tf,
356 reflex,
357 split,
358 stm,
359 time,
360 transformers >= 0.3
361 other-modules:
362 Reflex.TestPlan
363 Reflex.Plan.Reflex
364 Reflex.Bench.Focused
366source-repository head
367 type: git
368 location: https://github.com/reflex-frp/reflex