
To encourage organizing code in a way that helps in understanding, I have implemented the common idiom of requiring a `main` function. In tricu and other functional languages, it is usually placed near the top of the module. The evaluator gracefully handles the situation of passing multiple files where the intermediary "library" files do not have main functions.
70 lines
1.3 KiB
Plaintext
70 lines
1.3 KiB
Plaintext
cabal-version: 1.12
|
|
|
|
name: tricu
|
|
version: 0.11.0
|
|
description: A micro-language for exploring Tree Calculus
|
|
author: James Eversole
|
|
maintainer: james@eversole.co
|
|
copyright: James Eversole
|
|
license: ISC
|
|
license-file: LICENSE
|
|
build-type: Simple
|
|
extra-source-files:
|
|
README.md
|
|
|
|
executable tricu
|
|
main-is: Main.hs
|
|
hs-source-dirs:
|
|
src
|
|
default-extensions:
|
|
DeriveDataTypeable
|
|
LambdaCase
|
|
MultiWayIf
|
|
OverloadedStrings
|
|
ghc-options: -threaded -rtsopts -with-rtsopts=-N -optl-pthread -fPIC
|
|
build-depends:
|
|
base >=4.7
|
|
, cmdargs
|
|
, containers
|
|
, haskeline
|
|
, megaparsec
|
|
, mtl
|
|
, text
|
|
other-modules:
|
|
Eval
|
|
FileEval
|
|
Lexer
|
|
Parser
|
|
REPL
|
|
Research
|
|
default-language: Haskell2010
|
|
|
|
test-suite tricu-tests
|
|
type: exitcode-stdio-1.0
|
|
main-is: Spec.hs
|
|
hs-source-dirs: test, src
|
|
default-extensions:
|
|
DeriveDataTypeable
|
|
LambdaCase
|
|
MultiWayIf
|
|
OverloadedStrings
|
|
build-depends:
|
|
base
|
|
, cmdargs
|
|
, containers
|
|
, haskeline
|
|
, megaparsec
|
|
, mtl
|
|
, tasty
|
|
, tasty-hunit
|
|
, tasty-quickcheck
|
|
, text
|
|
default-language: Haskell2010
|
|
other-modules:
|
|
Eval
|
|
FileEval
|
|
Lexer
|
|
Parser
|
|
REPL
|
|
Research
|