on bc216da help sign in
patch/reflex.cabal
347 lines 8.3 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-sum
212 , lens
213 , mtl
214 , these
215 , transformers
216 , reflex
217 , ref-tf
218 other-modules:
219 Reflex.Test
220 Reflex.TestPlan
221 Reflex.Plan.Reflex
222 Reflex.Plan.Pure
223 Test.Run
225test-suite RequesterT
226 type: exitcode-stdio-1.0
227 main-is: RequesterT.hs
228 hs-source-dirs: test
229 build-depends: base
230 , dependent-sum
231 , dependent-map
232 , lens
233 , these
234 , transformers
235 , reflex
236 , ref-tf
237 buildable: False
238 other-modules:
239 Reflex.TestPlan
240 Reflex.Plan.Pure
242test-suite QueryT
243 type: exitcode-stdio-1.0
244 main-is: QueryT.hs
245 hs-source-dirs: test
246 build-depends: base
247 , containers
248 , dependent-map
249 , dependent-sum
250 , deepseq >= 1.3 && < 1.5
251 , lens
252 , monoidal-containers
253 , mtl
254 , ref-tf
255 , reflex
256 , semigroups
257 , these
258 , transformers
259 other-modules:
260 Test.Run
261 Reflex.TestPlan
262 Reflex.Plan.Reflex
263 Reflex.Plan.Pure
265test-suite GC-Semantics
266 type: exitcode-stdio-1.0
267 main-is: GC.hs
268 hs-source-dirs: test
269 build-depends: base
270 , containers
271 , dependent-sum
272 , dependent-map
273 , deepseq >= 1.3 && < 1.5
274 , mtl
275 , these
276 , transformers
277 , reflex
278 , ref-tf
279 if impl(ghc < 8)
280 build-depends: semigroups
281 other-modules:
282 Reflex.Plan.Pure
283 Reflex.Plan.Reflex
284 Reflex.TestPlan
285 Test.Run
287test-suite rootCleanup
288 type: exitcode-stdio-1.0
289 main-is: rootCleanup.hs
290 hs-source-dirs: test
291 build-depends: base
292 , containers
293 , deepseq >= 1.3 && < 1.5
294 , dependent-sum
295 , mtl
296 , reflex
297 , ref-tf
298 , these
299 other-modules:
300 Reflex.Plan.Pure
301 Reflex.TestPlan
302 Test.Run
304benchmark spider-bench
305 type: exitcode-stdio-1.0
306 hs-source-dirs: bench
307 main-is: Main.hs
308 ghc-options: -Wall -O2 -rtsopts
309 build-depends:
310 base,
311 criterion == 1.1.*,
312 deepseq >= 1.3 && < 1.5,
313 dependent-map,
314 dependent-sum,
315 mtl,
316 primitive,
317 reflex,
318 stm,
319 transformers >= 0.3
321benchmark saulzar-bench
322 type: exitcode-stdio-1.0
323 hs-source-dirs: bench test
324 c-sources: bench-cbits/checkCapability.c
325 main-is: RunAll.hs
326 ghc-options: -Wall -O2 -rtsopts -threaded
327 build-depends:
328 base,
329 containers >= 0.5 && < 0.7,
330 criterion == 1.1.*,
331 deepseq >= 1.3 && < 1.5,
332 dependent-map,
333 dependent-sum,
334 loch-th,
335 mtl,
336 primitive,
337 process,
338 ref-tf,
339 reflex,
340 split,
341 stm,
342 time,
343 transformers >= 0.3
345source-repository head
346 type: git
347 location: https://github.com/reflex-frp/reflex