]> Git — Sourcephile - haskell/symantic-parser.git/blob - symantic-parser.cabal
remove useless benchmarks
[haskell/symantic-parser.git] / symantic-parser.cabal
1 cabal-version: 3.0
2 name: symantic-parser
3 version: 0.1.0.20210201
4 synopsis: Parser combinators statically optimized and staged via typed meta-programming
5 description:
6 This is a work-in-progress experimental library to generate parsers,
7 leveraging Tagless-Final interpreters and Typed Template Haskell staging.
8 .
9 This is an alternative but less powerful/reviewed
10 implementation of [ParsleyHaskell](https://github.com/J-mie6/ParsleyHaskell).
11 See the paper by Jamie Willis, Nicolas Wu, and Matthew
12 Pickering, admirably well presented at ICFP-2020: [Staged
13 Selective Parser
14 Combinators](https://icfp20.sigplan.org/details/icfp-2020-papers/20/Staged-Selective-Parser-Combinators).
15 license: AGPL-3.0-or-later
16 author: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
17 maintainer: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
18 bug-reports: https://mails.sourcephile.fr/inbox/symantic-parser
19 copyright: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
20 stability: experimental
21 category: Parsing
22 extra-doc-files:
23 ChangeLog.md
24 Hacking.md
25 ReadMe.md
26 ToDo.md
27 extra-source-files:
28 cabal.project
29 default.nix
30 .envrc
31 flake.lock
32 flake.nix
33 Makefile
34 parsers/Parsers/*/inputs/*
35 shell.nix
36 test/Golden/**/*.txt
37 extra-tmp-files:
38 build-type: Simple
39 tested-with: GHC==9.0.1
40
41 source-repository head
42 type: git
43 location: git://git.sourcephile.fr/haskell/symantic-parser
44
45 flag dump-core
46 description: Dump GHC's Core in HTML
47 manual: True
48 default: False
49
50 common boilerplate
51 default-language: Haskell2010
52 default-extensions:
53 NoImplicitPrelude
54 ghc-options:
55 -Wall
56 -Wincomplete-uni-patterns
57 -Wincomplete-record-updates
58 -Wpartial-fields
59 -fhide-source-paths
60 ---freverse-errors
61 -fprint-potential-instances
62 ghc-prof-options: -eventlog -fprof-auto
63 -- -fprof-auto-calls
64
65 library
66 import: boilerplate
67 hs-source-dirs: src
68 exposed-modules:
69 Language.Haskell.TH.HideName
70 Language.Haskell.TH.Show
71 Symantic.Parser
72 Symantic.Parser.Grammar
73 Symantic.Parser.Grammar.Combinators
74 Symantic.Parser.Grammar.Fixity
75 Symantic.Parser.Grammar.ObserveSharing
76 Symantic.Parser.Grammar.Optimize
77 Symantic.Parser.Grammar.Production
78 Symantic.Parser.Grammar.View
79 Symantic.Parser.Grammar.Write
80 Symantic.Parser.Machine
81 Symantic.Parser.Machine.Generate
82 Symantic.Parser.Machine.Input
83 Symantic.Parser.Machine.Instructions
84 Symantic.Parser.Machine.Optimize
85 Symantic.Parser.Machine.Program
86 Symantic.Parser.Machine.View
87 Symantic.Univariant.Data
88 Symantic.Univariant.Lang
89 Symantic.Univariant.Letable
90 Symantic.Univariant.Optim
91 Symantic.Univariant.Reify
92 Symantic.Univariant.Trans
93 Symantic.Univariant.View
94 default-extensions:
95 BangPatterns,
96 DataKinds,
97 FlexibleContexts,
98 FlexibleInstances,
99 GADTs,
100 GeneralizedNewtypeDeriving,
101 LambdaCase,
102 MultiParamTypeClasses,
103 NamedFieldPuns,
104 RankNTypes,
105 RecordWildCards,
106 ScopedTypeVariables,
107 TypeApplications,
108 TypeFamilies,
109 TypeOperators
110 build-depends:
111 base >=4.10 && <5,
112 array,
113 bytestring,
114 containers,
115 deepseq >= 1.4,
116 ghc-prim,
117 hashable,
118 template-haskell >= 2.16,
119 text,
120 transformers,
121 unordered-containers
122
123 library parsers
124 -- visibility: public
125 import: boilerplate
126 hs-source-dirs: parsers
127 exposed-modules:
128 Parsers.Brainfuck.Attoparsec
129 Parsers.Brainfuck.Handrolled
130 Parsers.Brainfuck.SymanticParser
131 Parsers.Brainfuck.SymanticParser.Grammar
132 Parsers.Brainfuck.Types
133 Parsers.Nandlang
134 Parsers.Playground
135 Parsers.Utils
136 Parsers.Utils.Handrolled
137 Parsers.Utils.Attoparsec
138 Parsers.Utils.Attoparsec.Text
139 default-extensions:
140 BangPatterns,
141 DefaultSignatures,
142 FlexibleContexts,
143 FlexibleInstances,
144 GeneralizedNewtypeDeriving,
145 LambdaCase,
146 MultiParamTypeClasses,
147 ScopedTypeVariables,
148 TypeApplications,
149 TypeFamilies,
150 TypeOperators
151 ghc-options: -O2
152 -- -ddump-to-file -ddump-simpl-stats -ddump-splices
153 build-depends:
154 symantic-parser,
155 attoparsec >= 0.13,
156 base >= 4.10 && < 5,
157 bytestring >= 0.10,
158 containers >= 0.5.10.1,
159 deepseq >= 1.4,
160 directory >= 1.3,
161 filepath >= 1.4,
162 ghc-prim,
163 hashable >= 1.2.6,
164 megaparsec >= 9.0,
165 process >= 1.6,
166 strict >= 0.4,
167 tasty >= 0.11,
168 tasty-golden >= 2.3,
169 template-haskell >= 2.16,
170 text >= 1.2,
171 transformers >= 0.4,
172 unix >= 2.7,
173 unordered-containers
174
175 test-suite symantic-parser-test
176 import: boilerplate
177 type: exitcode-stdio-1.0
178 hs-source-dirs: test
179 main-is: Main.hs
180 other-modules:
181 Golden
182 Golden.Grammar
183 Golden.Machine
184 Golden.Parser
185 Golden.Splice
186 Golden.Utils
187 Grammar
188 -- HUnit
189 -- QuickCheck
190 Paths_symantic_parser
191 autogen-modules:
192 Paths_symantic_parser
193 ghc-options: -O2
194 ghc-prof-options: -fexternal-interpreter
195 build-depends:
196 symantic-parser,
197 symantic-parser:parsers,
198 base >= 4.10 && < 5,
199 bytestring >= 0.10,
200 -- Needed for exported Data.Map.Internal
201 containers >= 0.5.10.1,
202 deepseq >= 1.4,
203 directory >= 1.3,
204 filepath >= 1.4,
205 hashable >= 1.2.6,
206 process >= 1.6,
207 strict >= 0.4,
208 tasty >= 0.11,
209 tasty-golden >= 2.3,
210 -- tasty-hunit,
211 template-haskell >= 2.16,
212 -- th-lift-instances >= 0.1.17,
213 -- temporary >= 1.3,
214 text >= 1.2,
215 -- time >= 1.9,
216 transformers >= 0.4,
217 -- QuickCheck >= 2.0,
218 -- tasty-quickcheck,
219 unix >= 2.7,
220 unordered-containers
221 -- FIXME: add when haskellPackages.ormolu has been unbroken
222 -- build-tool-depends:
223 -- ormolu:ormolu >= 1.5
224 if flag(dump-core)
225 build-depends: dump-core
226 ghc-options: -fplugin=DumpCore
227
228 benchmark symantic-parser-benchmark
229 import: boilerplate
230 type: exitcode-stdio-1.0
231 hs-source-dirs: benchmarks
232 main-is: Main.hs
233 default-language: Haskell2010
234 other-modules:
235 Brainfuck
236 Paths_symantic_parser
237 autogen-modules:
238 Paths_symantic_parser
239 default-extensions:
240 ghc-options: -O2 -fno-enable-th-splice-warnings
241 ghc-prof-options: -fexternal-interpreter
242 build-depends:
243 base >= 4.6 && < 5,
244 symantic-parser,
245 symantic-parser:parsers,
246 attoparsec >= 0.13,
247 bytestring >= 0.10,
248 containers >= 0.5,
249 criterion >= 1.5,
250 deepseq >= 1.4,
251 megaparsec >= 9.0,
252 random >= 1.1,
253 text >= 1.2,
254 template-haskell >= 2.16,
255 transformers >= 0.5