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