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 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