ivo/package.yaml

90 lines
2.3 KiB
YAML

name: jtm-lambda-calculus
version: 0.1.0.0
github: "jamestmartin/lambda-calculus"
license: GPL-3
author: "James Martin"
maintainer: "james@jtmar.me"
copyright: "2019-2020 James Martin"
synopsis: "A simple implementation of the lambda calculus."
category: LambdaCalculus
description: Please see the README on GitHub at <https://github.com/jamestmartin/lambda-calculus#readme>
extra-source-files:
- README.md
default-extensions:
- BlockArguments
- DefaultSignatures
- EmptyCase
- EmptyDataDeriving
- FlexibleContexts
- FlexibleInstances
- ImportQualifiedPost
- LambdaCase
- OverloadedStrings
- PatternSynonyms
- StandaloneDeriving
- ViewPatterns
# Required for use of the 'trees that grow' pattern
- MultiParamTypeClasses
- TypeFamilies
# Used by recursion-schemes when using template haskell
- DeriveFoldable
- DeriveFunctor
- DeriveTraversable
- TemplateHaskell
dependencies:
- base >= 4.14 && < 5
- mtl >= 2.2 && < 3
- parsec >= 3.1 && < 4
- recursion-schemes >= 5.2 && < 6
- text >= 1.2 && < 2
- unordered-containers >= 0.2.13 && < 0.3
library:
source-dirs: src
ghc-options:
- -Weverything
# Useless Safe Haskell warnings
- -Wno-missing-safe-haskell-mode
- -Wno-unsafe
- -Wno-safe
# Other stupid warnings
- -Wno-implicit-prelude
- -Wno-missing-deriving-strategies
# Less stupid warnings, but I still don't care
- -Wno-all-missed-specialisations
- -Wno-missing-local-signatures
# This is a good warning, but often polymorphism isn't actually needed.
- -Wno-monomorphism-restriction
# Explicit import lists are generally a good thing, but I don't want them
# in certain cases (e.g. importing my own modules, task-specific modules like the parser).
- -Wno-missing-import-lists
executables:
jtm-lambda-calculus:
main: Main.hs
source-dirs: app
ghc-options:
- -Wall
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- jtm-lambda-calculus
tests:
jtm-lambda-calculus-test:
main: Spec.hs
source-dirs: test
ghc-options:
- -Wall
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- jtm-lambda-calculus
- tasty >= 1.2 && < 2
- tasty-hunit >= 0.10 && < 0.11