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
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
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
100 GeneralizedNewtypeDeriving,
102 MultiParamTypeClasses,
118 template-haskell >= 2.16,
124 -- visibility: public
126 hs-source-dirs: parsers
128 Parsers.Brainfuck.Attoparsec
129 Parsers.Brainfuck.Handrolled
130 Parsers.Brainfuck.SymanticParser
131 Parsers.Brainfuck.SymanticParser.Grammar
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,