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: 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
71 Symantic.Parser.Grammar
72 Symantic.Parser.Grammar.Combinators
73 Symantic.Parser.Grammar.Fixity
74 Symantic.Parser.Grammar.ObserveSharing
75 Symantic.Parser.Grammar.Optimize
76 Symantic.Parser.Grammar.Production
77 Symantic.Parser.Grammar.View
78 Symantic.Parser.Grammar.Write
79 Symantic.Parser.Machine
80 Symantic.Parser.Machine.Generate
81 Symantic.Parser.Machine.Input
82 Symantic.Parser.Machine.Instructions
83 Symantic.Parser.Machine.Optimize
84 Symantic.Parser.Machine.Program
85 Symantic.Parser.Machine.View
86 Symantic.Univariant.Data
87 Symantic.Univariant.Lang
88 Symantic.Univariant.Letable
89 Symantic.Univariant.Optim
90 Symantic.Univariant.Trans
91 Symantic.Univariant.View
98 GeneralizedNewtypeDeriving,
100 MultiParamTypeClasses,
116 template-haskell >= 2.16,
122 -- visibility: public
124 hs-source-dirs: parsers
126 Parsers.Brainfuck.Attoparsec
127 Parsers.Brainfuck.Handrolled
128 Parsers.Brainfuck.SymanticParser.AutoSplice
129 Parsers.Brainfuck.SymanticParser.DumpSplice
130 Parsers.Brainfuck.SymanticParser.Grammar
131 Parsers.Brainfuck.SymanticParser.PprSplice
132 Parsers.Brainfuck.Types
136 Parsers.Utils.Handrolled
137 Parsers.Utils.Attoparsec
138 Parsers.Utils.Attoparsec.Text
144 GeneralizedNewtypeDeriving,
146 MultiParamTypeClasses,
152 -- -ddump-to-file -ddump-simpl-stats -ddump-splices
158 containers >= 0.5.10.1,
169 template-haskell >= 2.16,
175 test-suite symantic-parser-test
177 type: exitcode-stdio-1.0
190 Paths_symantic_parser
192 Paths_symantic_parser
194 ghc-prof-options: -fexternal-interpreter
197 symantic-parser:parsers,
200 -- Needed for exported Data.Map.Internal
201 containers >= 0.5.10.1,
211 template-haskell >= 2.16,
212 -- th-lift-instances >= 0.1.17,
217 -- QuickCheck >= 2.0,
221 -- FIXME: add when haskellPackages.ormolu has been unbroken
222 -- build-tool-depends:
223 -- ormolu:ormolu >= 1.5
225 build-depends: dump-core
226 ghc-options: -fplugin=DumpCore
228 benchmark symantic-parser-benchmark
230 type: exitcode-stdio-1.0
231 hs-source-dirs: benchmarks
233 default-language: Haskell2010
236 Paths_symantic_parser
238 Paths_symantic_parser
240 ghc-options: -O2 -fno-enable-th-splice-warnings
241 ghc-prof-options: -fexternal-interpreter
245 symantic-parser:parsers,
254 template-haskell >= 2.16,