-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathspeff.cabal
132 lines (117 loc) · 3 KB
/
speff.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
cabal-version: 3.0
name: speff
version: 0.1.0.0
author: Xy Ren
maintainer: xy.r@outlook.com
license: BSD-3-Clause
copyright: 2022 Xy Ren
homepage: https://github.com/re-xyr/speff
bug-reports: https://github.com/re-xyr/speff/issues
category: Control, Effect, Language
synopsis: Efficient higher-order effect handlers
license-file: LICENSE
extra-source-files: README.md
tested-with:
GHC ==8.6.5
|| ==8.8.4
|| ==8.10.7
|| ==9.0.2
|| ==9.2.8
|| ==9.4.8
|| ==9.6.3
|| ==9.8.1
source-repository head
type: git
location: https://github.com/re-xyr/speff
common lang
default-language: Haskell2010
build-depends:
, base >=4.12 && <4.20
, exceptions ^>=0.10
, primitive >=0.8 && <0.10
ghc-options:
-Wall -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns -Wno-unticked-promoted-constructors
-Wpartial-fields -Wunused-type-patterns
default-extensions:
NoStarIsType
BangPatterns
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DerivingVia
EmptyCase
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
LambdaCase
MagicHash
PolyKinds
RankNTypes
RoleAnnotations
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
UndecidableSuperClasses
UnicodeSyntax
common dump
ghc-options:
-ddump-simpl -ddump-to-file -dsuppress-all -dsuppress-uniques
-ddump-hi
flag native-delcont
description:
Build with native delimited continuation support from GHC 9.6+. This makes non-scoped tail-resumptive operations
faster, but also makes scoped operations and (especially) operations that manipulate the control flow slower.
default: False
manual: True
library
import: lang, dump
hs-source-dirs: src
ghc-options: -fdicts-strict -flate-dmd-anal -fspec-constr
exposed-modules:
Sp.Eff
Sp.Eff.Exception
Sp.Error
Sp.Internal.Env
Sp.Internal.Monad
Sp.Util
Sp.NonDet
Sp.Reader
Sp.State
Sp.Writer
other-modules:
Sp.Internal.Handle
Sp.Internal.Vec
if flag(native-delcont)
cpp-options: -DSPEFF_NATIVE_DELCONT
other-modules: Sp.Internal.Ctl.Native
else
other-modules: Sp.Internal.Ctl.Monadic
benchmark speff-bench
import: lang, dump
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
ghc-options: -rtsopts -with-rtsopts=-T
build-depends:
, eveff ^>=1.0
, freer-simple ^>=1.2
, fused-effects ^>=1.1
, mtl >=2.2 && <2.4
, polysemy ^>=1.9
, speff
, tasty-bench ^>=0.3
cpp-options: -DSPEFF_BENCH_FREER_SIMPLE
if impl(ghc >=8.8)
cpp-options: -DSPEFF_BENCH_EFFECTFUL
build-depends: effectful-core ^>=2.3
other-modules:
BenchCatch
BenchCountdown
BenchLocal
BenchPyth