3 maintainer: mailto:~julm/symantic-parser@todo.hut.sourcephile.fr
4 bug-reports: https://todo.hut.sourcephile.fr/~julm/symantic-parser
5 homepage: https://git.hut.sourcephile.fr/~julm/symantic-parser
6 author: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
7 copyright: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
8 license: AGPL-3.0-or-later
9 license-file: LICENSES/AGPL-3.0-or-later.txt
10 version: 0.2.1.20210803
11 stability: experimental
12 synopsis: Parser combinators statically optimized and staged via typed meta-programming
14 This is a work-in-progress experimental library to generate parsers,
15 leveraging Tagless-Final interpreters and Typed Template Haskell staging.
17 This is an alternative but less powerful/reviewed
18 implementation of [ParsleyHaskell](https://github.com/J-mie6/ParsleyHaskell).
19 See the paper by Jamie Willis, Nicolas Wu, and Matthew Pickering,
20 admirably well presented at ICFP-2020: [Staged Selective Parser Combinators](https://icfp20.sigplan.org/details/icfp-2020-papers/20/Staged-Selective-Parser-Combinators).
23 tested-with: GHC==9.0.1
36 parsers/Parsers/Brainfuck/inputs/*.bf
41 source-repository head
43 location: https://git.hut.sourcephile.fr/~julm/symantic-parser
46 description: Dump GHC's Core in HTML
50 flag disable-ormolu-check
51 description: Remove ormolu from build-tool-depends.
52 Temporary hack while Nixpkgs' haskellPackages.ormolu remains broken.
57 default-language: Haskell2010
62 -Wincomplete-uni-patterns
63 -Wincomplete-record-updates
65 -fprint-potential-instances
71 Language.Haskell.TH.HideName
72 Language.Haskell.TH.Show
74 Symantic.Parser.Grammar
75 Symantic.Parser.Grammar.Combinators
76 Symantic.Parser.Grammar.ObserveSharing
77 Symantic.Parser.Grammar.Optimize
78 Symantic.Parser.Grammar.Production
79 Symantic.Parser.Grammar.View
80 Symantic.Parser.Grammar.Write
81 Symantic.Parser.Machine
82 Symantic.Parser.Machine.Generate
83 Symantic.Parser.Machine.Input
84 Symantic.Parser.Machine.Instructions
85 Symantic.Parser.Machine.Optimize
86 Symantic.Parser.Machine.Program
87 Symantic.Parser.Machine.View
94 GeneralizedNewtypeDeriving,
96 MultiParamTypeClasses,
112 -- For Language.Haskell.Ppr.Lib.pprExp
114 symantic-base >= 0.2,
115 template-haskell >= 2.16,
121 -- visibility: public
123 hs-source-dirs: parsers
125 Parsers.Brainfuck.Attoparsec
126 Parsers.Brainfuck.Handrolled
127 Parsers.Brainfuck.SymanticParser
128 Parsers.Brainfuck.SymanticParser.Grammar
129 Parsers.Brainfuck.Types
133 Parsers.Utils.Handrolled
134 Parsers.Utils.Attoparsec
135 Parsers.Utils.Attoparsec.Text
141 GeneralizedNewtypeDeriving,
143 MultiParamTypeClasses,
153 containers >= 0.5.10.1,
162 symantic-base >= 0.2,
165 template-haskell >= 2.16,
170 -- ghc-options: -ddump-splices
172 test-suite symantic-parser-tests
174 type: exitcode-stdio-1.0
175 hs-source-dirs: tests
187 Paths_symantic_parser
189 Paths_symantic_parser
190 ghc-prof-options: -fexternal-interpreter
193 symantic-parser:parsers,
196 -- Needed for exported Data.Map.Internal
197 containers >= 0.5.10.1,
207 template-haskell >= 2.16,
208 -- th-lift-instances >= 0.1.17,
213 -- QuickCheck >= 2.0,
217 if !flag(disable-ormolu-check)
221 build-depends: dump-core
222 ghc-options: -fplugin=DumpCore
224 benchmark symantic-parser-benchmark
226 type: exitcode-stdio-1.0
227 hs-source-dirs: benchmarks
229 default-language: Haskell2010
232 Paths_symantic_parser
234 Paths_symantic_parser
236 ghc-options: -fno-enable-th-splice-warnings
237 ghc-prof-options: -fexternal-interpreter
241 symantic-parser:parsers,
250 template-haskell >= 2.16,