on 0e76993 help sign in
reflex/reflex.cabal
295 lines 7.2 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://github.com/reflex-frp/reflex
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.12,
41 bifunctors >= 5.2 && < 5.6,
42 comonad,
43 containers == 0.5.*,
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 mtl >= 2.1 && < 2.3,
50 prim-uniq >= 0.1.0.1 && < 0.2,
51 primitive >= 0.5 && < 0.7,
52 random == 1.1.*,
53 ref-tf == 0.4.*,
54 reflection == 2.1.*,
55 semigroupoids >= 4.0 && < 6,
56 semigroups >= 0.16 && < 0.19,
57 stm == 2.4.*,
58 syb >= 0.5 && < 0.8,
59 these >= 0.4 && < 0.8,
60 time >= 1.4 && < 1.9,
61 transformers >= 0.2,
62 transformers-compat >= 0.3,
63 unbounded-delays >= 0.1.0.0 && < 0.2
65 exposed-modules:
66 Data.AppendMap,
67 Data.FastMutableIntMap,
68 Data.FastWeakBag,
69 Data.Functor.Misc,
70 Data.Map.Misc,
71 Data.WeakBag,
72 Reflex,
73 Reflex.Class,
74 Reflex.Collection,
75 Reflex.Dynamic,
76 Reflex.Dynamic.Uniq,
77 Reflex.DynamicWriter,
78 Reflex.DynamicWriter.Base,
79 Reflex.DynamicWriter.Class,
80 Reflex.EventWriter,
81 Reflex.EventWriter.Base,
82 Reflex.EventWriter.Class,
83 Reflex.FastWeak,
84 Reflex.FunctorMaybe,
85 Reflex.Host.Class,
86 Reflex.Network,
87 Reflex.NotReady.Class,
88 Reflex.Patch,
89 Reflex.Patch.Class,
90 Reflex.Patch.DMap,
91 Reflex.Patch.DMapWithMove,
92 Reflex.Patch.IntMap,
93 Reflex.Patch.Map,
94 Reflex.Patch.MapWithMove,
95 Reflex.PerformEvent.Base,
96 Reflex.PerformEvent.Class,
97 Reflex.PostBuild.Base,
98 Reflex.PostBuild.Class,
99 Reflex.Profiled,
100 Reflex.Pure,
101 Reflex.Query.Base,
102 Reflex.Query.Class,
103 Reflex.Requester.Base,
104 Reflex.Requester.Class,
105 Reflex.Spider,
106 Reflex.Spider.Internal,
107 Reflex.Time,
108 Reflex.TriggerEvent.Base,
109 Reflex.TriggerEvent.Class,
110 Reflex.Widget.Basic,
111 Reflex.Workflow
113 ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2 -fspecialise-aggressively -ddump-simpl -ddump-to-file -dsuppress-coercions -dsuppress-idinfo
114 ghc-prof-options: -fprof-auto
116 if flag(debug-trace-events)
117 cpp-options: -DDEBUG_TRACE_EVENTS
118 build-depends: bytestring
120 if flag(use-reflex-optimizer)
121 cpp-options: -DUSE_REFLEX_OPTIMIZER
122 build-depends: ghc
123 exposed-modules: Reflex.Optimizer
125 if flag(use-template-haskell)
126 cpp-options: -DUSE_TEMPLATE_HASKELL
127 build-depends:
128 dependent-sum >= 0.3 && < 0.5,
129 haskell-src-exts >= 1.16 && < 1.21,
130 haskell-src-meta >= 0.6 && < 0.9,
131 template-haskell >= 2.9 && < 2.14
132 exposed-modules:
133 Reflex.Dynamic.TH
134 other-extensions: TemplateHaskell
135 else
136 build-depends:
137 dependent-sum == 0.4.*
139 if flag(fast-weak) && impl(ghcjs)
140 ghc-options: -DGHCJS_FAST_WEAK
142 if impl(ghcjs)
143 build-depends: ghcjs-base
145test-suite semantics
146 type: exitcode-stdio-1.0
147 main-is: semantics.hs
148 hs-source-dirs: test
149 ghc-options: -O2 -Wall -rtsopts
150 build-depends:
151 base,
152 bifunctors,
153 containers,
154 deepseq >= 1.3 && < 1.5,
155 dependent-map,
156 dependent-sum,
157 mtl,
158 ref-tf,
159 reflex,
160 split,
161 transformers >= 0.3
163test-suite CrossImpl
164 type: exitcode-stdio-1.0
165 main-is: Reflex/Test/CrossImpl.hs
166 hs-source-dirs: test
167 ghc-options: -O2 -Wall -rtsopts -main-is Reflex.Test.CrossImpl.test
168 build-depends:
169 base,
170 containers,
171 dependent-map,
172 mtl,
173 ref-tf,
174 reflex
176test-suite hlint
177 type: exitcode-stdio-1.0
178 main-is: hlint.hs
179 hs-source-dirs: test
180 build-depends: base
181 , directory
182 , filepath
183 , filemanip
184 , hlint
185 if impl(ghcjs)
186 buildable: False
188test-suite EventWriterT
189 type: exitcode-stdio-1.0
190 main-is: EventWriterT.hs
191 hs-source-dirs: test
192 build-depends: base
193 , dependent-sum
194 , lens
195 , these
196 , transformers
197 , reflex
198 , ref-tf
200test-suite RequesterT
201 type: exitcode-stdio-1.0
202 main-is: RequesterT.hs
203 hs-source-dirs: test
204 build-depends: base
205 , dependent-sum
206 , dependent-map
207 , lens
208 , these
209 , transformers
210 , reflex
211 , ref-tf
212 buildable: False
214test-suite QueryT
215 type: exitcode-stdio-1.0
216 main-is: QueryT.hs
217 hs-source-dirs: test
218 build-depends: base
219 , containers
220 , dependent-sum
221 , dependent-map
222 , lens
223 , these
224 , transformers
225 , semigroups
226 , reflex
227 , ref-tf
228 other-modules: Test.Run
230test-suite GC-Semantics
231 type: exitcode-stdio-1.0
232 main-is: GC.hs
233 hs-source-dirs: test
234 build-depends: base
235 , dependent-sum
236 , dependent-map
237 , these
238 , transformers
239 , reflex
240 , ref-tf
241 if impl(ghc < 8)
242 build-depends: semigroups
244test-suite rootCleanup
245 type: exitcode-stdio-1.0
246 main-is: rootCleanup.hs
247 hs-source-dirs: test
248 build-depends: base
249 , reflex
251benchmark spider-bench
252 type: exitcode-stdio-1.0
253 hs-source-dirs: bench
254 main-is: Main.hs
255 ghc-options: -Wall -O2 -rtsopts
256 build-depends:
257 base,
258 criterion == 1.1.*,
259 deepseq >= 1.3 && < 1.5,
260 dependent-map,
261 dependent-sum,
262 mtl,
263 primitive,
264 reflex,
265 stm,
266 transformers >= 0.3
268benchmark saulzar-bench
269 type: exitcode-stdio-1.0
270 hs-source-dirs: bench test
271 c-sources: bench-cbits/checkCapability.c
272 main-is: RunAll.hs
273 ghc-options: -Wall -O2 -rtsopts -threaded
274 ghc-prof-options: -fprof-auto
275 build-depends:
276 base,
277 containers == 0.5.*,
278 criterion == 1.1.*,
279 deepseq >= 1.3 && < 1.5,
280 dependent-map,
281 dependent-sum,
282 loch-th,
283 mtl,
284 primitive,
285 process,
286 ref-tf,
287 reflex,
288 split,
289 stm,
290 time,
291 transformers >= 0.3
293source-repository head
294 type: git
295 location: https://github.com/reflex-frp/reflex