on b95bf51 help sign in
patch/reflex.cabal
298 lines 7.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.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 monoidal-containers >= 0.3.0.2 && < 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.*,
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 -ddump-simpl -ddump-to-file -dsuppress-coercions -dsuppress-idinfo
116 ghc-prof-options: -fprof-auto
118 if flag(debug-trace-events)
119 cpp-options: -DDEBUG_TRACE_EVENTS
120 build-depends: bytestring
122 if flag(use-reflex-optimizer)
123 cpp-options: -DUSE_REFLEX_OPTIMIZER
124 build-depends: ghc
125 exposed-modules: Reflex.Optimizer
127 if flag(use-template-haskell)
128 cpp-options: -DUSE_TEMPLATE_HASKELL
129 build-depends:
130 dependent-sum >= 0.3 && < 0.5,
131 haskell-src-exts >= 1.16 && < 1.21,
132 haskell-src-meta >= 0.6 && < 0.9,
133 template-haskell >= 2.9 && < 2.14
134 exposed-modules:
135 Reflex.Dynamic.TH
136 other-extensions: TemplateHaskell
137 else
138 build-depends:
139 dependent-sum == 0.4.*
141 if flag(fast-weak) && impl(ghcjs)
142 ghc-options: -DGHCJS_FAST_WEAK
144 if impl(ghcjs)
145 build-depends: ghcjs-base
147test-suite semantics
148 type: exitcode-stdio-1.0
149 main-is: semantics.hs
150 hs-source-dirs: test
151 ghc-options: -O2 -Wall -rtsopts
152 build-depends:
153 base,
154 bifunctors,
155 containers,
156 deepseq >= 1.3 && < 1.5,
157 dependent-map,
158 dependent-sum,
159 mtl,
160 ref-tf,
161 reflex,
162 split,
163 transformers >= 0.3
165test-suite CrossImpl
166 type: exitcode-stdio-1.0
167 main-is: Reflex/Test/CrossImpl.hs
168 hs-source-dirs: test
169 ghc-options: -O2 -Wall -rtsopts -main-is Reflex.Test.CrossImpl.test
170 build-depends:
171 base,
172 containers,
173 dependent-map,
174 mtl,
175 ref-tf,
176 reflex
178test-suite hlint
179 type: exitcode-stdio-1.0
180 main-is: hlint.hs
181 hs-source-dirs: test
182 build-depends: base
183 , directory
184 , filepath
185 , filemanip
186 , hlint
187 if impl(ghcjs)
188 buildable: False
190test-suite EventWriterT
191 type: exitcode-stdio-1.0
192 main-is: EventWriterT.hs
193 hs-source-dirs: test
194 build-depends: base
195 , dependent-sum
196 , lens
197 , these
198 , transformers
199 , reflex
200 , ref-tf
202test-suite RequesterT
203 type: exitcode-stdio-1.0
204 main-is: RequesterT.hs
205 hs-source-dirs: test
206 build-depends: base
207 , dependent-sum
208 , dependent-map
209 , lens
210 , these
211 , transformers
212 , reflex
213 , ref-tf
214 buildable: False
216test-suite QueryT
217 type: exitcode-stdio-1.0
218 main-is: QueryT.hs
219 hs-source-dirs: test
220 build-depends: base
221 , containers
222 , dependent-map
223 , dependent-sum
224 , lens
225 , monoidal-containers
226 , ref-tf
227 , reflex
228 , semigroups
229 , these
230 , transformers
231 other-modules: Test.Run
233test-suite GC-Semantics
234 type: exitcode-stdio-1.0
235 main-is: GC.hs
236 hs-source-dirs: test
237 build-depends: base
238 , dependent-sum
239 , dependent-map
240 , these
241 , transformers
242 , reflex
243 , ref-tf
244 if impl(ghc < 8)
245 build-depends: semigroups
247test-suite rootCleanup
248 type: exitcode-stdio-1.0
249 main-is: rootCleanup.hs
250 hs-source-dirs: test
251 build-depends: base
252 , reflex
254benchmark spider-bench
255 type: exitcode-stdio-1.0
256 hs-source-dirs: bench
257 main-is: Main.hs
258 ghc-options: -Wall -O2 -rtsopts
259 build-depends:
260 base,
261 criterion == 1.1.*,
262 deepseq >= 1.3 && < 1.5,
263 dependent-map,
264 dependent-sum,
265 mtl,
266 primitive,
267 reflex,
268 stm,
269 transformers >= 0.3
271benchmark saulzar-bench
272 type: exitcode-stdio-1.0
273 hs-source-dirs: bench test
274 c-sources: bench-cbits/checkCapability.c
275 main-is: RunAll.hs
276 ghc-options: -Wall -O2 -rtsopts -threaded
277 ghc-prof-options: -fprof-auto
278 build-depends:
279 base,
280 containers == 0.5.*,
281 criterion == 1.1.*,
282 deepseq >= 1.3 && < 1.5,
283 dependent-map,
284 dependent-sum,
285 loch-th,
286 mtl,
287 primitive,
288 process,
289 ref-tf,
290 reflex,
291 split,
292 stm,
293 time,
294 transformers >= 0.3
296source-repository head
297 type: git
298 location: https://github.com/reflex-frp/reflex