3 version: 0.1.0.20210201
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: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
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
62 -eventlog -fprof-auto -fprof-auto-calls
68 Language.Haskell.TH.HideName
70 Symantic.Parser.Grammar
71 Symantic.Parser.Grammar.Combinators
72 Symantic.Parser.Grammar.Fixity
73 Symantic.Parser.Grammar.ObserveSharing
74 Symantic.Parser.Grammar.Optimize
75 Symantic.Parser.Grammar.View
76 Symantic.Parser.Grammar.Write
77 Symantic.Parser.Haskell
78 Symantic.Parser.Haskell.Optimize
79 Symantic.Parser.Haskell.Term
80 Symantic.Parser.Haskell.View
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
88 Symantic.Univariant.Letable
89 Symantic.Univariant.Trans
96 GeneralizedNewtypeDeriving,
98 MultiParamTypeClasses,
114 template-haskell >= 2.16,
120 -- visibility: public
122 hs-source-dirs: parsers
124 Parsers.Brainfuck.Attoparsec
125 Parsers.Brainfuck.Handrolled
126 Parsers.Brainfuck.SymanticParser.AutoSplice
127 Parsers.Brainfuck.SymanticParser.DumpSplice
128 Parsers.Brainfuck.SymanticParser.Grammar
129 Parsers.Brainfuck.SymanticParser.PprSplice
130 Parsers.Brainfuck.Types
134 Parsers.Utils.Handrolled
135 Parsers.Utils.Attoparsec
136 Parsers.Utils.Attoparsec.Text
142 GeneralizedNewtypeDeriving,
144 MultiParamTypeClasses,
149 ghc-options: -O2 -ddump-to-file -ddump-simpl-stats -ddump-splices
155 containers >= 0.5.10.1,
166 template-haskell >= 2.16,
172 test-suite symantic-parser-test
174 type: exitcode-stdio-1.0
187 Paths_symantic_parser
189 Paths_symantic_parser
192 -fexternal-interpreter
195 symantic-parser:parsers,
198 -- Needed for exported Data.Map.Internal
199 containers >= 0.5.10.1,
209 template-haskell >= 2.16,
210 -- th-lift-instances >= 0.1.17,
215 -- QuickCheck >= 2.0,
219 -- FIXME: add when haskellPackages.ormolu has been unbroken
220 -- build-tool-depends:
221 -- ormolu:ormolu >= 1.5
223 build-depends: dump-core
224 ghc-options: -fplugin=DumpCore
226 benchmark symantic-parser-benchmark
228 type: exitcode-stdio-1.0
229 hs-source-dirs: benchmarks
231 default-language: Haskell2010
234 Paths_symantic_parser
236 Paths_symantic_parser
240 -fexternal-interpreter
244 symantic-parser:parsers,
253 template-haskell >= 2.16,