]> Git — Sourcephile - haskell/symantic-parser.git/blob - symantic-parser.cabal
nix: update nixpkgs to use cabal-install 3.4
[haskell/symantic-parser.git] / symantic-parser.cabal
1 cabal-version: 2.4
2 name: symantic-parser
3 version: 0.1.0.20210201
4 synopsis: Parser combinators statically optimized and staged via typed meta-programming
5 description:
6 This is a work-in-progress experimental library to generate parsers,
7 leveraging Tagless-Final interpreters and Typed Template Haskell staging.
8 .
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
13 Selective Parser
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
21 category: Parsing
22 extra-doc-files:
23 ChangeLog.md
24 ReadMe.md
25 ToDo.md
26 extra-source-files:
27 .envrc
28 Makefile
29 cabal.project
30 default.nix
31 flake.lock
32 flake.nix
33 shell.nix
34 test/Golden/**/*.expected.txt
35 test/Golden/**/*.input.txt
36 test/Golden/Splice/**/*.expected.hs
37 extra-tmp-files:
38 build-type: Custom
39 tested-with: GHC==9.0.1
40
41 source-repository head
42 type: git
43 location: git://git.sourcephile.fr/haskell/symantic-parser
44
45 flag dump-core
46 description: Dump GHC's Core in HTML
47 manual: True
48 default: False
49
50 flag dump-splices
51 description: Dump code generated by Template Haskell
52 manual: True
53 default: False
54
55 common boilerplate
56 default-language: Haskell2010
57 default-extensions:
58 NoImplicitPrelude
59 ghc-options:
60 -Wall
61 -Wincomplete-uni-patterns
62 -Wincomplete-record-updates
63 -Wpartial-fields
64 -fhide-source-paths
65 -freverse-errors
66
67 custom-setup
68 setup-depends:
69 base >= 4.14,
70 Cabal >= 3.2,
71 directory >= 1,
72 filepath >= 1.3
73
74 library
75 import: boilerplate
76 hs-source-dirs: src
77 exposed-modules:
78 Symantic.Parser
79 Symantic.Parser.Grammar
80 Symantic.Parser.Grammar.Combinators
81 Symantic.Parser.Grammar.Fixity
82 Symantic.Parser.Grammar.ObserveSharing
83 Symantic.Parser.Grammar.Optimize
84 Symantic.Parser.Grammar.View
85 Symantic.Parser.Grammar.Write
86 Symantic.Parser.Haskell
87 Symantic.Parser.Haskell.Optimize
88 Symantic.Parser.Haskell.Term
89 Symantic.Parser.Haskell.View
90 Symantic.Parser.Machine
91 Symantic.Parser.Machine.Generate
92 Symantic.Parser.Machine.Input
93 Symantic.Parser.Machine.Instructions
94 Symantic.Parser.Machine.Optimize
95 Symantic.Parser.Machine.Program
96 Symantic.Parser.Machine.View
97 Symantic.Univariant.Letable
98 Symantic.Univariant.Trans
99 default-extensions:
100 BangPatterns,
101 DataKinds,
102 FlexibleContexts,
103 FlexibleInstances,
104 GADTs,
105 GeneralizedNewtypeDeriving,
106 LambdaCase,
107 MultiParamTypeClasses,
108 NamedFieldPuns,
109 RankNTypes,
110 RecordWildCards,
111 ScopedTypeVariables,
112 TypeApplications,
113 TypeFamilies,
114 TypeOperators
115 build-depends:
116 base >=4.10 && <5,
117 array,
118 bytestring,
119 containers,
120 ghc-prim,
121 hashable,
122 template-haskell >= 2.16,
123 text,
124 transformers,
125 unordered-containers
126
127 test-suite symantic-parser-test
128 import: boilerplate
129 type: exitcode-stdio-1.0
130 hs-source-dirs: test
131 main-is: Main.hs
132 other-modules:
133 Golden
134 Golden.Grammar
135 Golden.Machine
136 Golden.Parser
137 Golden.Splice
138 Golden.Splice.Utils
139 Golden.Utils
140 Grammar
141 Grammar.Brainfuck
142 Grammar.Nandlang
143 Grammar.Playground
144 Parser
145 Machine
146 -- Paths_symantic_parser
147 -- HUnit
148 -- QuickCheck
149 -- autogen-modules:
150 -- Paths_symantic_parser
151 ghc-options:
152 build-depends:
153 symantic-parser,
154 base >= 4.10 && < 5,
155 bytestring >= 0.10,
156 -- Needed for exported Data.Map.Internal
157 containers >= 0.5.10.1,
158 deepseq >= 1.4,
159 directory >= 1.3,
160 filepath >= 1.4,
161 hashable >= 1.2.6,
162 process >= 1.6,
163 strict >= 0.4,
164 tasty >= 0.11,
165 tasty-golden >= 2.3,
166 -- tasty-hunit,
167 template-haskell >= 2.16,
168 -- th-lift-instances >= 0.1.17,
169 -- temporary >= 1.3,
170 text >= 1.2,
171 -- time >= 1.9,
172 transformers >= 0.4,
173 turtle >= 1.5,
174 -- QuickCheck >= 2.0,
175 -- tasty-quickcheck,
176 unix >= 2.7,
177 unordered-containers
178 if flag(dump-core)
179 build-depends: dump-core
180 ghc-options: -fplugin=DumpCore
181 if flag(dump-splices)
182 ghc-options:
183 -ddump-splices
184 -ddump-to-file