on queryt-debugging help sign in
reflex/reflex.cabal
290 lines 7.2 kB history raw
1Name: reflex
2Version: 0.5.0
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 specialize-to-spidertimeline-global
17 description: Specialize all Reflex functions to the SpiderTimeline Global implementation. This may improve performance, but will disable all other implementations.
18 default: False
19 manual: True
21flag use-reflex-optimizer
22 description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.
23 default: False
24 manual: True
26flag use-template-haskell
27 description: Use template haskell to generate lenses
28 default: True
29 manual: True
31flag expose-all-unfoldings
32 description: Build the library with -fexpose-all-unfoldings which can help client code specialize better
33 default: False
34 manual: True
36flag debug-trace-events
37 description: Add instrumentation that outputs the stack trace of the definition of an event whenever it is subscribed to. Warning: It is very slow!
38 default: False
39 manual: True
41flag experimental-dependent-sum-instances
42 description: Use experimental incoherent instances for certain forked dependent-sum typeclasses
43 default: False
44 manual: True
46library
47 hs-source-dirs: src
48 build-depends:
49 MemoTrie == 0.6.*,
50 base >= 4.7 && < 4.11,
51 bifunctors >= 5.2 && < 5.5,
52 containers == 0.5.*,
53 data-default >= 0.5 && < 0.8,
54 dependent-map >= 0.2.4 && < 0.3,
55 exception-transformers == 0.4.*,
56 lens >= 4.7 && < 5,
57 monad-control >= 1.0.1 && < 1.1,
58 mtl >= 2.1 && < 2.3,
59 prim-uniq >= 0.1.0.1 && < 0.2,
60 primitive >= 0.5 && < 0.7,
61 ref-tf == 0.4.*,
62 reflection == 2.1.*,
63 semigroupoids >= 4.0 && < 6,
64 semigroups >= 0.16 && < 0.19,
65 stm == 2.4.*,
66 syb >= 0.5 && < 0.7,
67 these >= 0.4 && < 0.8,
68 transformers >= 0.2,
69 transformers-compat >= 0.3
71 exposed-modules:
72 Data.AppendMap,
73 Data.Functor.Misc,
74 Data.WeakBag,
75 Reflex,
76 Reflex.Class,
77 Reflex.EventWriter,
78 Reflex.Dynamic,
79 Reflex.Dynamic.Uniq,
80 Reflex.DynamicWriter,
81 Reflex.FunctorMaybe,
82 Reflex.Host.Class,
83 Reflex.Patch,
84 Reflex.Patch.Class,
85 Reflex.Patch.DMap,
86 Reflex.Patch.DMapWithMove,
87 Reflex.Patch.Map,
88 Reflex.Patch.MapWithMove,
89 Reflex.TriggerEvent.Base,
90 Reflex.TriggerEvent.Class,
91 Reflex.PerformEvent.Base,
92 Reflex.PerformEvent.Class,
93 Reflex.PostBuild.Base,
94 Reflex.PostBuild.Class,
95 Reflex.Query.Base,
96 Reflex.Query.Class,
97 Reflex.Requester.Base,
98 Reflex.Requester.Class,
99 Reflex.Spider,
100 Reflex.Spider.Internal
102 ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
103 ghc-prof-options: -fprof-auto
105 if flag(specialize-to-spidertimeline-global)
106 cpp-options: -DSPECIALIZE_TO_SPIDERTIMELINE_GLOBAL
107 else
108 exposed-modules: Reflex.Pure
110 if flag(debug-trace-events)
111 cpp-options: -DDEBUG_TRACE_EVENTS
112 build-depends: bytestring
114 if flag(use-reflex-optimizer)
115 cpp-options: -DUSE_REFLEX_OPTIMIZER
116 build-depends: ghc
117 exposed-modules: Reflex.Optimizer
119 if flag(use-template-haskell)
120 cpp-options: -DUSE_TEMPLATE_HASKELL
121 build-depends:
122 dependent-sum >= 0.3 && < 0.5,
123 haskell-src-exts >= 1.16 && < 1.19,
124 haskell-src-meta >= 0.6 && < 0.8,
125 template-haskell >= 2.9 && < 2.12
126 exposed-modules:
127 Reflex.Dynamic.TH
128 other-extensions: TemplateHaskell
129 else
130 build-depends:
131 dependent-sum == 0.4.*
133 if flag(expose-all-unfoldings)
134 ghc-options: -fexpose-all-unfoldings
136 if flag(experimental-dependent-sum-instances)
137 ghc-options: -DEXPERIMENTAL_DEPENDENT_SUM_INSTANCES
139test-suite semantics
140 type: exitcode-stdio-1.0
141 main-is: semantics.hs
142 hs-source-dirs: test
143 ghc-options: -O2 -Wall -rtsopts
144 build-depends:
145 base,
146 bifunctors,
147 containers,
148 deepseq >= 1.3 && < 1.5,
149 dependent-map,
150 dependent-sum,
151 mtl,
152 ref-tf,
153 reflex,
154 split,
155 transformers >= 0.3
156 if flag(specialize-to-spidertimeline-global)
157 buildable: False
159test-suite CrossImpl
160 type: exitcode-stdio-1.0
161 main-is: Reflex/Test/CrossImpl.hs
162 hs-source-dirs: test
163 ghc-options: -O2 -Wall -rtsopts -main-is Reflex.Test.CrossImpl.test
164 build-depends:
165 base,
166 containers,
167 dependent-map,
168 mtl,
169 ref-tf,
170 reflex
171 if flag(specialize-to-spidertimeline-global)
172 buildable: False
174test-suite hlint
175 type: exitcode-stdio-1.0
176 main-is: hlint.hs
177 hs-source-dirs: test
178 build-depends: base
179 , directory
180 , filepath
181 , filemanip
182 , hlint == 1.9.*
183 if impl(ghcjs)
184 buildable: False
186test-suite EventWriterT
187 type: exitcode-stdio-1.0
188 main-is: EventWriterT.hs
189 hs-source-dirs: test
190 build-depends: base
191 , dependent-sum
192 , lens
193 , these
194 , transformers
195 , reflex
196 , ref-tf
198test-suite RequesterT
199 type: exitcode-stdio-1.0
200 main-is: RequesterT.hs
201 hs-source-dirs: test
202 build-depends: base
203 , dependent-sum
204 , dependent-map
205 , lens
206 , these
207 , transformers
208 , reflex
209 , ref-tf
211test-suite QueryT
212 type: exitcode-stdio-1.0
213 main-is: QueryT.hs
214 hs-source-dirs: test
215 build-depends: base
216 , containers
217 , dependent-sum
218 , dependent-map
219 , lens
220 , these
221 , transformers
222 , reflex
223 , ref-tf
225test-suite GC-Semantics
226 type: exitcode-stdio-1.0
227 main-is: GC.hs
228 hs-source-dirs: test
229 if flag(specialize-to-spidertimeline-global)
230 buildable: False
231 build-depends: base
232 , dependent-sum
233 , dependent-map
234 , these
235 , transformers
236 , reflex
237 , ref-tf
239test-suite rootCleanup
240 type: exitcode-stdio-1.0
241 main-is: rootCleanup.hs
242 hs-source-dirs: test
243 build-depends: base
244 , reflex
246benchmark spider-bench
247 type: exitcode-stdio-1.0
248 hs-source-dirs: bench
249 main-is: Main.hs
250 ghc-options: -Wall -O2 -rtsopts
251 build-depends:
252 base,
253 criterion == 1.1.*,
254 deepseq >= 1.3 && < 1.5,
255 dependent-map,
256 dependent-sum,
257 mtl,
258 primitive,
259 reflex,
260 stm,
261 transformers >= 0.3
263benchmark saulzar-bench
264 type: exitcode-stdio-1.0
265 hs-source-dirs: bench test
266 c-sources: bench-cbits/checkCapability.c
267 main-is: RunAll.hs
268 ghc-options: -Wall -O2 -rtsopts -threaded
269 ghc-prof-options: -fprof-auto
270 build-depends:
271 base,
272 containers == 0.5.*,
273 criterion == 1.1.*,
274 deepseq >= 1.3 && < 1.5,
275 dependent-map,
276 dependent-sum,
277 loch-th,
278 mtl,
279 primitive,
280 process,
281 ref-tf,
282 reflex,
283 split,
284 stm,
285 time,
286 transformers >= 0.3
288source-repository head
289 type: git
290 location: https://github.com/reflex-frp/reflex