on 75426f7 help sign in
patch/reflex.cabal
267 lines 6.7 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.Functor.Misc,
73 Data.WeakBag,
74 Reflex,
75 Reflex.Class,
76 Reflex.EventWriter,
77 Reflex.Dynamic,
78 Reflex.Dynamic.Uniq,
79 Reflex.DynamicWriter,
80 Reflex.FunctorMaybe,
81 Reflex.Host.Class,
82 Reflex.Patch,
83 Reflex.Patch.Class,
84 Reflex.Patch.DMap,
85 Reflex.Patch.DMapWithMove,
86 Reflex.Patch.Map,
87 Reflex.Patch.MapWithMove,
88 Reflex.TriggerEvent.Base,
89 Reflex.TriggerEvent.Class,
90 Reflex.PerformEvent.Base,
91 Reflex.PerformEvent.Class,
92 Reflex.PostBuild.Base,
93 Reflex.PostBuild.Class,
94 Reflex.Query.Base,
95 Reflex.Query.Class,
96 Reflex.Requester.Base,
97 Reflex.Requester.Class,
98 Reflex.Spider,
99 Reflex.Spider.Internal
101 ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
102 ghc-prof-options: -fprof-auto
104 if flag(specialize-to-spidertimeline-global)
105 cpp-options: -DSPECIALIZE_TO_SPIDERTIMELINE_GLOBAL
106 else
107 exposed-modules: Reflex.Pure
109 if flag(debug-trace-events)
110 cpp-options: -DDEBUG_TRACE_EVENTS
111 build-depends: bytestring
113 if flag(use-reflex-optimizer)
114 cpp-options: -DUSE_REFLEX_OPTIMIZER
115 build-depends: ghc
116 exposed-modules: Reflex.Optimizer
118 if flag(use-template-haskell)
119 cpp-options: -DUSE_TEMPLATE_HASKELL
120 build-depends:
121 dependent-sum >= 0.3 && < 0.5,
122 haskell-src-exts >= 1.16 && < 1.19,
123 haskell-src-meta >= 0.6 && < 0.8,
124 template-haskell >= 2.9 && < 2.12
125 exposed-modules:
126 Reflex.Dynamic.TH
127 other-extensions: TemplateHaskell
128 else
129 build-depends:
130 dependent-sum == 0.4.*
132 if flag(expose-all-unfoldings)
133 ghc-options: -fexpose-all-unfoldings
135 if flag(experimental-dependent-sum-instances)
136 ghc-options: -DEXPERIMENTAL_DEPENDENT_SUM_INSTANCES
138test-suite semantics
139 type: exitcode-stdio-1.0
140 main-is: semantics.hs
141 hs-source-dirs: test
142 ghc-options: -O2 -Wall -rtsopts
143 build-depends:
144 base,
145 bifunctors,
146 containers,
147 deepseq >= 1.3 && < 1.5,
148 dependent-map,
149 dependent-sum,
150 mtl,
151 ref-tf,
152 reflex,
153 split,
154 transformers >= 0.3
155 if flag(specialize-to-spidertimeline-global)
156 buildable: False
158test-suite CrossImpl
159 type: exitcode-stdio-1.0
160 main-is: Reflex/Test/CrossImpl.hs
161 hs-source-dirs: test
162 ghc-options: -O2 -Wall -rtsopts -main-is Reflex.Test.CrossImpl.test
163 build-depends:
164 base,
165 containers,
166 dependent-map,
167 mtl,
168 ref-tf,
169 reflex
170 if flag(specialize-to-spidertimeline-global)
171 buildable: False
173test-suite hlint
174 type: exitcode-stdio-1.0
175 main-is: hlint.hs
176 hs-source-dirs: test
177 build-depends: base, hlint == 1.9.*
178 if impl(ghcjs)
179 buildable: False
181test-suite EventWriterT
182 type: exitcode-stdio-1.0
183 main-is: EventWriterT.hs
184 hs-source-dirs: test
185 build-depends: base
186 , dependent-sum
187 , transformers
188 , reflex
189 , ref-tf
191test-suite RequesterT
192 type: exitcode-stdio-1.0
193 main-is: RequesterT.hs
194 hs-source-dirs: test
195 build-depends: base
196 , dependent-sum
197 , dependent-map
198 , transformers
199 , reflex
200 , ref-tf
202test-suite GC-Semantics
203 type: exitcode-stdio-1.0
204 main-is: GC.hs
205 hs-source-dirs: test
206 if flag(specialize-to-spidertimeline-global)
207 buildable: False
208 build-depends: base
209 , dependent-sum
210 , dependent-map
211 , these
212 , transformers
213 , reflex
214 , ref-tf
216test-suite rootCleanup
217 type: exitcode-stdio-1.0
218 main-is: rootCleanup.hs
219 hs-source-dirs: test
220 build-depends: base
221 , reflex
223benchmark spider-bench
224 type: exitcode-stdio-1.0
225 hs-source-dirs: bench
226 main-is: Main.hs
227 ghc-options: -Wall -O2 -rtsopts
228 build-depends:
229 base,
230 criterion == 1.1.*,
231 deepseq >= 1.3 && < 1.5,
232 dependent-map,
233 dependent-sum,
234 mtl,
235 primitive,
236 reflex,
237 stm,
238 transformers >= 0.3
240benchmark saulzar-bench
241 type: exitcode-stdio-1.0
242 hs-source-dirs: bench test
243 c-sources: bench-cbits/checkCapability.c
244 main-is: RunAll.hs
245 ghc-options: -Wall -O2 -rtsopts -threaded
246 ghc-prof-options: -fprof-auto
247 build-depends:
248 base,
249 containers == 0.5.*,
250 criterion == 1.1.*,
251 deepseq >= 1.3 && < 1.5,
252 dependent-map,
253 dependent-sum,
254 loch-th,
255 mtl,
256 primitive,
257 process,
258 ref-tf,
259 reflex,
260 split,
261 stm,
262 time,
263 transformers >= 0.3
265source-repository head
266 type: git
267 location: https://github.com/reflex-frp/reflex