on baac813 help sign in
patch/reflex.cabal
359 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.5.*,
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.Collection,
77 Reflex.Dynamic,
78 Reflex.Dynamic.Uniq,
79 Reflex.DynamicWriter,
80 Reflex.DynamicWriter.Base,
81 Reflex.DynamicWriter.Class,
82 Reflex.EventWriter,
83 Reflex.EventWriter.Base,
84 Reflex.EventWriter.Class,
85 Reflex.FastWeak,
86 Reflex.FunctorMaybe,
87 Reflex.Host.Class,
88 Reflex.Network,
89 Reflex.NotReady.Class,
90 Reflex.Patch,
91 Reflex.Patch.Class,
92 Reflex.Patch.DMap,
93 Reflex.Patch.DMapWithMove,
94 Reflex.Patch.IntMap,
95 Reflex.Patch.Map,
96 Reflex.Patch.MapWithMove,
97 Reflex.PerformEvent.Base,
98 Reflex.PerformEvent.Class,
99 Reflex.PostBuild.Base,
100 Reflex.PostBuild.Class,
101 Reflex.Profiled,
102 Reflex.Pure,
103 Reflex.Query.Base,
104 Reflex.Query.Class,
105 Reflex.Requester.Base,
106 Reflex.Requester.Class,
107 Reflex.Spider,
108 Reflex.Spider.Internal,
109 Reflex.Time,
110 Reflex.TriggerEvent.Base,
111 Reflex.TriggerEvent.Class,
112 Reflex.Widget.Basic,
113 Reflex.Workflow
115 ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively
117 if flag(debug-trace-events)
118 cpp-options: -DDEBUG_TRACE_EVENTS
119 build-depends: bytestring
121 if flag(use-reflex-optimizer)
122 cpp-options: -DUSE_REFLEX_OPTIMIZER
123 build-depends: ghc
124 exposed-modules: Reflex.Optimizer
126 if flag(use-template-haskell)
127 cpp-options: -DUSE_TEMPLATE_HASKELL
128 build-depends:
129 dependent-sum >= 0.3 && < 0.5,
130 haskell-src-exts >= 1.16 && < 1.21,
131 haskell-src-meta >= 0.6 && < 0.9,
132 template-haskell >= 2.9 && < 2.15
133 exposed-modules:
134 Reflex.Dynamic.TH
135 other-extensions: TemplateHaskell
136 else
137 build-depends:
138 dependent-sum == 0.4.*
140 if flag(fast-weak) && impl(ghcjs)
141 cpp-options: -DGHCJS_FAST_WEAK
143 if impl(ghcjs)
144 build-depends: ghcjs-base
146test-suite semantics
147 type: exitcode-stdio-1.0
148 main-is: semantics.hs
149 hs-source-dirs: test
150 ghc-options: -O2 -Wall -rtsopts
151 build-depends:
152 base,
153 bifunctors,
154 containers,
155 deepseq >= 1.3 && < 1.5,
156 dependent-map,
157 dependent-sum,
158 mtl,
159 ref-tf,
160 reflex,
161 split,
162 transformers >= 0.3
163 other-modules:
164 Reflex.Bench.Focused
165 Reflex.Plan.Pure
166 Reflex.Plan.Reflex
167 Reflex.Test
168 Reflex.Test.Micro
169 Reflex.TestPlan
171test-suite CrossImpl
172 type: exitcode-stdio-1.0
173 main-is: Reflex/Test/CrossImpl.hs
174 hs-source-dirs: test
175 ghc-options: -O2 -Wall -rtsopts
176 build-depends:
177 base,
178 containers,
179 dependent-map,
180 dependent-sum,
181 deepseq >= 1.3 && < 1.5,
182 mtl,
183 transformers,
184 ref-tf,
185 reflex
186 other-modules:
187 Reflex.Test
188 Reflex.TestPlan
189 Reflex.Plan.Reflex
190 Reflex.Plan.Pure
192test-suite hlint
193 type: exitcode-stdio-1.0
194 main-is: hlint.hs
195 hs-source-dirs: test
196 build-depends: base
197 , directory
198 , filepath
199 , filemanip
200 , hlint
201 if impl(ghcjs)
202 buildable: False
204test-suite EventWriterT
205 type: exitcode-stdio-1.0
206 main-is: EventWriterT.hs
207 hs-source-dirs: test
208 build-depends: base
209 , containers
210 , deepseq >= 1.3 && < 1.5
211 , dependent-map
212 , dependent-sum
213 , lens
214 , mtl
215 , these
216 , transformers
217 , reflex
218 , ref-tf
219 other-modules:
220 Reflex.Test
221 Reflex.TestPlan
222 Reflex.Plan.Reflex
223 Reflex.Plan.Pure
224 Test.Run
226test-suite RequesterT
227 type: exitcode-stdio-1.0
228 main-is: RequesterT.hs
229 hs-source-dirs: test
230 build-depends: base
231 , dependent-sum
232 , dependent-map
233 , lens
234 , these
235 , transformers
236 , reflex
237 , ref-tf
238 buildable: False
239 other-modules:
240 Reflex.TestPlan
241 Reflex.Plan.Pure
243test-suite QueryT
244 type: exitcode-stdio-1.0
245 main-is: QueryT.hs
246 hs-source-dirs: test
247 build-depends: base
248 , containers
249 , dependent-map
250 , dependent-sum
251 , deepseq >= 1.3 && < 1.5
252 , lens
253 , monoidal-containers
254 , mtl
255 , ref-tf
256 , reflex
257 , semigroups
258 , these
259 , transformers
260 other-modules:
261 Test.Run
262 Reflex.TestPlan
263 Reflex.Plan.Reflex
264 Reflex.Plan.Pure
266test-suite GC-Semantics
267 type: exitcode-stdio-1.0
268 main-is: GC.hs
269 hs-source-dirs: test
270 build-depends: base
271 , containers
272 , dependent-sum
273 , dependent-map
274 , deepseq >= 1.3 && < 1.5
275 , mtl
276 , these
277 , transformers
278 , reflex
279 , ref-tf
280 if impl(ghc < 8)
281 build-depends: semigroups
282 other-modules:
283 Reflex.Plan.Pure
284 Reflex.Plan.Reflex
285 Reflex.TestPlan
286 Test.Run
288test-suite rootCleanup
289 type: exitcode-stdio-1.0
290 main-is: rootCleanup.hs
291 hs-source-dirs: test
292 build-depends: base
293 , containers
294 , deepseq >= 1.3 && < 1.5
295 , dependent-sum
296 , mtl
297 , reflex
298 , ref-tf
299 , these
300 other-modules:
301 Reflex.Plan.Pure
302 Reflex.TestPlan
303 Test.Run
305benchmark spider-bench
306 type: exitcode-stdio-1.0
307 hs-source-dirs: bench test
308 main-is: Main.hs
309 ghc-options: -Wall -O2 -rtsopts
310 build-depends:
311 base,
312 containers,
313 criterion >= 1.1 && < 1.6,
314 deepseq >= 1.3 && < 1.5,
315 dependent-map,
316 dependent-sum,
317 ref-tf,
318 mtl,
319 primitive,
320 reflex,
321 split,
322 stm,
323 transformers >= 0.3
324 other-modules:
325 Reflex.TestPlan
326 Reflex.Plan.Reflex
327 Reflex.Bench.Focused
329benchmark saulzar-bench
330 type: exitcode-stdio-1.0
331 hs-source-dirs: bench test
332 c-sources: bench-cbits/checkCapability.c
333 main-is: RunAll.hs
334 ghc-options: -Wall -O2 -rtsopts -threaded
335 build-depends:
336 base,
337 containers >= 0.5 && < 0.7,
338 criterion >= 1.1 && < 1.6,
339 deepseq >= 1.3 && < 1.5,
340 dependent-map,
341 dependent-sum,
342 loch-th,
343 mtl,
344 primitive,
345 process,
346 ref-tf,
347 reflex,
348 split,
349 stm,
350 time,
351 transformers >= 0.3
352 other-modules:
353 Reflex.TestPlan
354 Reflex.Plan.Reflex
355 Reflex.Bench.Focused
357source-repository head
358 type: git
359 location: https://github.com/reflex-frp/reflex