@@ -1,30 +1,61 @@
1+cabal-version: 2.2
12name: effects-benchmarks
23version: 0.1.0.0
3−-- synopsis:
4−-- description:
5−homepage: https://github.com/githubuser/effects-benchmarks#readme
6−license: BSD3
4+homepage: https://github.com/patrickt/effects-benchmarks#readme
5+license: BSD-3-Clause
76license-file: LICENSE
87author: Author name here
98maintainer: example@example.com
109copyright: 2018 Author name here
1110category: Web
1211build-type: Simple
13−cabal-version: >=1.10
1412extra-source-files: README.md
1513
16−executable effects-benchmarks
17− hs-source-dirs: src
18− main-is: Main.hs
19− other-modules: HigherOrder
20− , JVEffects
21− , MTL
22− , FreerSimple
14+common shared
2315 default-language: Haskell2010
16+ ghc-options: -Wall -Werror -O1
2417 build-depends: base >= 4.7 && < 5
25− , higher-order-effects
26− , effects
27− , gauge
28− , mtl
29− , freer-simple
30− ghc-options: -Wall -Werror -O2
18+
19+library benchmark-signatures
20+ import: shared
21+ hs-source-dirs: src
22+ signatures: Bench.Signature.Stateful
23+ , Bench.Signature.StatefulExcept
24+ exposed-modules: Bench.Countdown
25+
26+library instances-for-mtl
27+ import: shared
28+ hs-source-dirs: instances
29+ exposed-modules: MTLStateful
30+ , MTL.StatefulExcept
31+ build-depends: mtl ^>= 2.2.2
32+
33+library instances-for-fused-effects
34+ import: shared
35+ hs-source-dirs: instances
36+ exposed-modules: Fused.Stateful
37+ , Fused.StatefulExcept
38+ build-depends: fused-effects >= 0.3.1.0
39+
40+library instances-for-freer-simple
41+ import: shared
42+ hs-source-dirs: instances
43+ exposed-modules: FSStateful
44+ , Freer.StatefulExcept
45+ build-depends: freer-simple ^>= 1.2.1
46+
47+benchmark effects-benchmarks
48+ import: shared
49+ type: exitcode-stdio-1.0
50+ hs-source-dirs: src
51+ build-depends: benchmark-signatures
52+ , instances-for-mtl
53+ , instances-for-fused-effects
54+ , instances-for-freer-simple
55+ , dump-core
56+ , gauge
57+ , polysemy
58+ main-is: Main.hs
59+ mixins: benchmark-signatures (Bench.Countdown as MTL.Countdown) requires (Bench.Signature.Stateful as MTLStateful, Bench.Signature.StatefulExcept as MTL.StatefulExcept)
60+ , benchmark-signatures (Bench.Countdown as Fused.Countdown) requires (Bench.Signature.Stateful as Fused.Stateful, Bench.Signature.StatefulExcept as Fused.StatefulExcept)
61+ , benchmark-signatures (Bench.Countdown as Simple.Countdown) requires (Bench.Signature.Stateful as FSStateful, Bench.Signature.StatefulExcept as Freer.StatefulExcept)