3 version: 0.2.0.20210703
4 synopsis: Parser combinators statically optimized and staged via typed meta-programming
6 This is a work-in-progress experimental library to generate parsers,
7 leveraging Tagless-Final interpreters and Typed Template Haskell staging.
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
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
34 parsers/Parsers/*/inputs/*
39 tested-with: GHC==9.0.1
41 source-repository head
43 location: git://git.sourcephile.fr/haskell/symantic-parser
46 description: Dump GHC's Core in HTML
51 default-language: Haskell2010
56 -Wincomplete-uni-patterns
57 -Wincomplete-record-updates
61 -fprint-potential-instances
62 ghc-prof-options: -eventlog -fprof-auto
69 Language.Haskell.TH.HideName
70 Language.Haskell.TH.Show
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
89 Symantic.Typed.Letable
99 GeneralizedNewtypeDeriving,
101 MultiParamTypeClasses,
117 -- Needed to use Language.Haskell.Ppr.Lib.pprExp
119 template-haskell >= 2.16,
125 -- visibility: public
127 hs-source-dirs: parsers
129 Parsers.Brainfuck.Attoparsec
130 Parsers.Brainfuck.Handrolled
131 Parsers.Brainfuck.SymanticParser
132 Parsers.Brainfuck.SymanticParser.Grammar
133 Parsers.Brainfuck.Types
137 Parsers.Utils.Handrolled
138 Parsers.Utils.Attoparsec
139 Parsers.Utils.Attoparsec.Text
145 GeneralizedNewtypeDeriving,
147 MultiParamTypeClasses,
153 -- -ddump-to-file -ddump-simpl-stats -ddump-splices
159 containers >= 0.5.10.1,
170 template-haskell >= 2.16,
176 test-suite symantic-parser-test
178 type: exitcode-stdio-1.0
191 Paths_symantic_parser
193 Paths_symantic_parser
195 ghc-prof-options: -fexternal-interpreter
198 symantic-parser:parsers,
201 -- Needed for exported Data.Map.Internal
202 containers >= 0.5.10.1,
212 template-haskell >= 2.16,
213 -- th-lift-instances >= 0.1.17,
218 -- QuickCheck >= 2.0,
222 -- FIXME: add when haskellPackages.ormolu has been unbroken
223 -- build-tool-depends:
224 -- ormolu:ormolu >= 1.5
226 build-depends: dump-core
227 ghc-options: -fplugin=DumpCore
229 benchmark symantic-parser-benchmark
231 type: exitcode-stdio-1.0
232 hs-source-dirs: benchmarks
234 default-language: Haskell2010
237 Paths_symantic_parser
239 Paths_symantic_parser
241 ghc-options: -O2 -fno-enable-th-splice-warnings
242 ghc-prof-options: -fexternal-interpreter
246 symantic-parser:parsers,
255 template-haskell >= 2.16,