-- Initial lambdacube-dsl.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
name: lambdacube-compiler
version: 0.6.0.0
homepage: http://lambdacube3d.com
synopsis: LambdaCube 3D is a DSL to program GPUs
description: LambdaCube 3D is a domain specific language and library that makes it
possible to program GPUs in a purely functional style.
license: BSD3
license-file: LICENSE
author: Csaba Hruska, Péter Diviánszky, Dániel Pék, Andor Pénzes
maintainer: csaba.hruska@gmail.com
category: Graphics, Compiler
build-type: Simple
cabal-version: >=1.10
extra-source-files: CHANGELOG.md
Data-Files:
lc/Builtins.lc
lc/Internals.lc
lc/Prelude.lc
-- flags explanation (Y-Yes,N-No,X-no effect)
-- executables/flags: | default, cli, testsuite, coverage, alltest, profiling
-- lc Y Y X X X X
-- lambdacube-compiler-unit-tests N X X X Y X
-- lambdacube-compiler-test-suite N X Y X Y X
-- lambdacube-compiler-performance-report N X X X Y X
-- lambdacube-backend-test-server N X X X Y X
-- lambdacube-compiler-coverage-test-suite N X X Y X X
Flag cli
Description: Compiles 'lc' command line tool
Default: True
Flag profiling
Description: Enable profiling
Default: False
Flag alltest
Description: Additionally compiles the testsuite, unit tests, backend test server, performance report (useful for development)
Default: False
Flag testsuite
Description: Compiles the library and testsuite
Default: False
Flag coverage
Description: Enable coverage reporting
Default: False
source-repository head
type: git
location: https://github.com/lambdacube3d/lambdacube-compiler
library
exposed-modules:
LambdaCube.Compiler.Utils
LambdaCube.Compiler.DeBruijn
LambdaCube.Compiler.Pretty
LambdaCube.Compiler.DesugaredSource
LambdaCube.Compiler.Patterns
LambdaCube.Compiler.Statements
LambdaCube.Compiler.Lexer
LambdaCube.Compiler.Parser
LambdaCube.Compiler.Core
LambdaCube.Compiler.InferMonad
LambdaCube.Compiler.Infer
LambdaCube.Compiler.CoreToIR
LambdaCube.Compiler
other-modules:
Paths_lambdacube_compiler
other-extensions:
LambdaCase
PatternSynonyms
ViewPatterns
TypeSynonymInstances
FlexibleInstances
NoMonomorphismRestriction
TypeFamilies
RecordWildCards
DeriveFunctor
DeriveFoldable
DeriveTraversable
GeneralizedNewtypeDeriving
OverloadedStrings
TupleSections
MonadComprehensions
ExistentialQuantification
ScopedTypeVariables
ParallelListComp
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
aeson >=0.9 && <0.12,
base >=4.7 && <4.10,
semigroups,
containers >=0.5 && <0.6,
directory >=1.2 && <1.3,
exceptions >= 0.8 && <0.9,
filepath >=1.4 && <1.5,
mtl >=2.2 && <2.3,
megaparsec >=5.0 && <5.1,
ansi-wl-pprint >=0.6 && <0.7,
pretty-show >= 1.6.9,
text >= 1.2 && <1.3,
lambdacube-ir == 0.3.*,
vector >= 0.11 && <0.12
hs-source-dirs: src
default-language: Haskell2010
if flag(profiling)
GHC-Options: -fprof-auto
executable lc
hs-source-dirs: tool
main-is: Compiler.hs
default-language: Haskell2010
if flag(cli)
Buildable: True
else
Buildable: False
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
base < 4.10,
lambdacube-compiler,
optparse-applicative >=0.12 && <0.14,
aeson >=0.9 && <0.12,
bytestring == 0.10.*,
filepath >=1.4 && <1.5
------------------------
-- tests for development
------------------------
executable lambdacube-compiler-unit-tests
hs-source-dirs: test
main-is: UnitTests.hs
default-language: Haskell2010
if flag(alltest)
Buildable: True
else
Buildable: False
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
base < 4.10,
semigroups,
containers >=0.5 && <0.6,
lambdacube-compiler,
megaparsec >=5.0 && <5.1,
QuickCheck >= 2.8.2 && <2.10,
tasty >= 0.11 && <0.12,
tasty-quickcheck >=0.8 && <0.9
executable lambdacube-compiler-test-suite
hs-source-dirs: test
main-is: runTests.hs
default-language: Haskell2010
if flag(alltest) || flag(testsuite)
Buildable: True
else
Buildable: False
if flag(profiling)
GHC-Options: -fprof-auto -rtsopts
else
GHC-Options: -rtsopts
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
aeson >=0.9 && <0.12,
async >= 2.0 && <2.2,
base < 4.10,
semigroups,
containers >=0.5 && <0.6,
deepseq >=1.4 && <1.5,
directory >=1.2 && <1.3,
exceptions >= 0.8 && <0.9,
filepath >=1.4 && <1.5,
lambdacube-compiler,
mtl >=2.2 && <2.3,
monad-control >= 1.0 && <1.1,
optparse-applicative >=0.12 && <0.14,
megaparsec >=5.0 && <5.1,
ansi-wl-pprint >=0.6 && <0.7,
patience >= 0.1 && < 0.2,
text >= 1.2 && <1.3,
time >= 1.5 && <1.7,
lambdacube-ir == 0.3.*,
vector >= 0.11 && <0.12
executable lambdacube-compiler-performance-report
hs-source-dirs: test
main-is: PerfReport.hs
default-language: Haskell2010
if flag(alltest)
Buildable: True
else
Buildable: False
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
base < 4.10,
directory >=1.2 && <1.3,
filepath >=1.4 && <1.5,
containers >=0.5 && <0.6,
optparse-applicative >=0.12 && <0.14
executable lambdacube-backend-test-server
hs-source-dirs: backendtest
main-is: TestServer.hs
default-language: Haskell2010
other-modules: EditorExamplesTest
TestData
if flag(alltest)
Buildable: True
else
Buildable: False
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
base < 4.10,
semigroups,
containers >=0.5 && <0.6,
text >= 1.2 && <1.3,
lambdacube-compiler,
lambdacube-ir == 0.3.*,
pretty-show >= 1.6.9,
optparse-applicative >=0.12 && <0.14,
aeson >=0.9 && <0.12,
bytestring == 0.10.*,
filepath >=1.4 && <1.5,
directory >=1.2 && <1.3,
websockets >= 0.9.6.1,
JuicyPixels >=3.2.7 && <3.3,
vect >= 0.4.7,
base64-bytestring >= 1.0.0.1,
vector >= 0.11 && <0.12,
process >= 1.2
executable lambdacube-compiler-coverage-test-suite
hs-source-dirs: src, test
main-is: runTests.hs
default-language: Haskell2010
if flag(coverage)
Buildable: True
else
Buildable: False
if flag(profiling)
GHC-Options: -fhpc -hpcdir dist/hpc/lambdacube-compiler -fprof-auto -rtsopts
else
GHC-Options: -fhpc -hpcdir dist/hpc/lambdacube-compiler
-- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
build-depends:
aeson >=0.9 && <0.12,
async >= 2.0 && <2.2,
base < 4.10,
semigroups,
containers >=0.5 && <0.6,
deepseq >=1.4 && <1.5,
directory >=1.2 && <1.3,
exceptions >= 0.8 && <0.9,
filepath >=1.4 && <1.5,
lambdacube-ir == 0.3.*,
mtl >=2.2 && <2.3,
monad-control >= 1.0 && <1.1,
optparse-applicative >=0.12 && <0.14,
megaparsec >=5.0 && <5.1,
ansi-wl-pprint >=0.6 && <0.7,
pretty-show >= 1.6.9,
patience >= 0.1 && < 0.2,
text >= 1.2 && <1.3,
time >= 1.5 && <1.7,
vector >= 0.11 && <0.12