A cunning interpreter for the pure untyped λ-calculus.
1cabal-version: 3.0
2
3-- SPDX-FileCopyrightText: 2022 Severen Redwood <sev@severen.dev>
4-- SPDX-License-Identifier: CC0-1.0
5
6name: sly
7version: 0.1.0
8synopsis: An interpreter for the pure untyped λ-calculus.
9description: Sly is an interpreter for the pure untyped λ-calculus.
10category: LambdaCalculus, Language, Teaching
11author: Severen Redwood
12maintainer: sev@severen.dev
13
14license: GPL-3.0-or-later
15license-file: LICENSE
16copyright: (c) 2022 Severen Redwood
17
18homepage: https://github.com/severen/sly
19bug-reports: https://github.com/severen/sly/issues
20tested-with: GHC == {9.6.6, 9.8.2, 9.10.1}
21
22extra-source-files: cabal.project
23extra-doc-files: CHANGELOG.md LICENSES/*.txt
24
25source-repository head
26 type: git
27 location: https://github.com/severen/sly.git
28
29common defaults
30 ghc-options: -W -Wall -fplugin=Effectful.Plugin
31 default-language: GHC2021
32 default-extensions:
33 ApplicativeDo,
34 BlockArguments,
35 DuplicateRecordFields,
36 ImportQualifiedPost,
37 LambdaCase,
38 LexicalNegation,
39 NoFieldSelectors,
40 OverloadedRecordDot,
41 OverloadedStrings,
42 QuasiQuotes,
43 RecordWildCards,
44 UnicodeSyntax,
45
46common deps
47 build-depends:
48 base >=4.18.2.1 && <5,
49 bytestring ^>=0.11.5.3 || ^>=0.12.1.0,
50 containers ^>=0.6.7 || ^>=0.7,
51 effectful ^>=2.5.1.0,
52 effectful-core ^>=2.5.1.0,
53 effectful-plugin ^>=1.1.0.4,
54 megaparsec ^>=9.6.0,
55 parser-combinators ^>=1.3.0,
56 string-interpolate ^>=0.3.4.0,
57 text ^>=2.1.2,
58 transformers ^>=0.6.1.0,
59 unicode-data ^>=0.6.0,
60
61common exe-deps
62 build-depends:
63 sly,
64 haskeline ^>=0.8.2.1,
65 optparse-applicative ^>=0.18.1.0,
66 random ^>=1.3.0,
67
68common test-deps
69 build-depends:
70 sly,
71 hedgehog ^>=1.5,
72 hspec ^>=2.11.10,
73 hspec-megaparsec ^>=2.2.1,
74 tasty ^>=1.5.3,
75 tasty-hedgehog ^>=1.4.0.2,
76 tasty-hspec ^>=1.2.0.4,
77
78library
79 import: defaults, deps
80 exposed-modules: Sly.Eval, Sly.Syntax, Sly.Parser
81
82 hs-source-dirs: src
83
84executable sly
85 import: defaults, deps, exe-deps
86 other-modules: Paths_sly
87 autogen-modules: Paths_sly
88
89 hs-source-dirs: app
90 main-is: Main.hs
91
92test-suite test
93 import: defaults, deps, test-deps
94
95 hs-source-dirs: tests
96 type: exitcode-stdio-1.0
97
98 main-is: Test.hs
99 other-modules: UnitTests, PropertyTests