cabal-version: 2.4 name: symantic-parser version: 0.0.0.20210102 synopsis: Parser combinators statically optimized and staged via typed meta-programming description: This is a work-in-progress experimental library to generate parsers, leveraging Tagless-Final interpreters and Typed Template Haskell staging. . This is an alternative but less powerful/reviewed implementation of [ParsleyHaskell](https://github.com/J-mie6/ParsleyHaskell). See the paper by Jamie Willis, Nicolas Wu, and Matthew Pickering, admirably well presented at ICFP-2020: [Staged Selective Parser Combinators](https://icfp20.sigplan.org/details/icfp-2020-papers/20/Staged-Selective-Parser-Combinators). license: GPL-3.0-or-later author: Julien Moutinho maintainer: Julien Moutinho bug-reports: Julien Moutinho copyright: Julien Moutinho stability: experimental category: Parsing extra-doc-files: ChangeLog.md ReadMe.md ToDo.md extra-source-files: .envrc Makefile cabal.project default.nix flake.nix shell.nix test/Golden/**/*.dump test/Golden/**/*.txt extra-tmp-files: build-type: Simple tested-with: GHC==9.0.0 source-repository head type: git location: git://git.sourcephile.fr/haskell/symantic-parser flag dump-core description: Dump GHC's Core in HTML manual: True default: False flag dump-splices description: Dump code generated by Template Haskell manual: True default: False common boilerplate default-language: Haskell2010 default-extensions: BangPatterns, DataKinds, FlexibleContexts, FlexibleInstances, GADTs, GeneralizedNewtypeDeriving, LambdaCase, MultiParamTypeClasses, NamedFieldPuns, NoImplicitPrelude, RankNTypes, RecordWildCards, ScopedTypeVariables, TypeApplications, TypeFamilies, TypeOperators ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -fhide-source-paths -freverse-errors library import: boilerplate hs-source-dirs: src exposed-modules: Symantic.Univariant.Letable Symantic.Univariant.Trans Symantic.Parser Symantic.Parser.Grammar Symantic.Parser.Grammar.Combinators Symantic.Parser.Grammar.Dump Symantic.Parser.Grammar.Fixity Symantic.Parser.Grammar.ObserveSharing Symantic.Parser.Grammar.Optimize Symantic.Parser.Grammar.Pure Symantic.Parser.Grammar.Write Symantic.Parser.Machine Symantic.Parser.Machine.Dump Symantic.Parser.Machine.Generate Symantic.Parser.Machine.Input Symantic.Parser.Machine.Instructions build-depends: base >=4.10 && <5, array, bytestring, containers, ghc-prim, hashable, template-haskell >= 2.16, text, transformers, unordered-containers test-suite symantic-parser-test import: boilerplate type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Main.hs other-modules: Golden Golden.Grammar Parser.Nandlang -- Golden.Utils -- Golden.Parsers -- HUnit -- QuickCheck default-extensions: ViewPatterns ghc-options: build-depends: symantic-parser, base >= 4.10 && < 5, bytestring >= 0.10, containers >= 0.5, deepseq >= 1.4, directory >= 1.3, filepath >= 1.4, hashable >= 1.2.6, process >= 1.6, strict >= 0.4, tasty >= 0.11, tasty-golden >= 2.3, -- tasty-hunit, template-haskell >= 2.16, -- temporary >= 1.3, text >= 1.2, -- time >= 1.9, transformers >= 0.4, -- QuickCheck >= 2.0, -- tasty-quickcheck, unix >= 2.7, unordered-containers if flag(dump-core) build-depends: dump-core ghc-options: -fplugin=DumpCore if flag(dump-splices) ghc-options: -ddump-splices -ddump-to-file