aihc-cpp-2.0.0.0: aihc-cpp.cabal
cabal-version: 3.8
name: aihc-cpp
version: 2.0.0.0
build-type: Simple
license: Unlicense
license-file: LICENSE
extra-doc-files: CHANGELOG.md
extra-source-files:
bench/include/*.h
test/Test/Fixtures/progress/*.hs
test/Test/Fixtures/progress/*.tsv
test/Test/Fixtures/progress/includes/*.inc
author: David Himmelstrup
maintainer: lemmih@gmail.com
category: Development
synopsis: Pure Haskell C preprocessor for aihc
description:
A pure Haskell C preprocessor for Haskell source files that use CPP. The
package provides deterministic preprocessing with include continuations and
oracle-backed tests against cpphs.
homepage: https://github.com/ai-haskell-compiler/aihc-cpp
bug-reports: https://github.com/ai-haskell-compiler/aihc-cpp/issues
source-repository head
type: git
location: https://github.com/ai-haskell-compiler/aihc-cpp.git
library
exposed-modules:
Aihc.Cpp
other-modules:
Aihc.Cpp.Cursor
Aihc.Cpp.Evaluator
Aihc.Cpp.Parser
Aihc.Cpp.Scanner
Aihc.Cpp.Types
hs-source-dirs: src
build-depends:
base >=4.16 && <5,
bytestring >=0.11 && <0.13,
containers >=0.5 && <0.9,
deepseq >=1.4 && <1.6,
filepath >=1.3.0.1 && <1.6,
text >=1.2 && <2.2,
ghc-options: -Wall
default-language: Haskell2010
test-suite spec
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules:
Test.Progress
build-depends:
aihc-cpp >=2.0 && <2.1,
base >=4.16 && <5,
bytestring >=0.11 && <0.13,
containers >=0.5 && <0.9,
cpphs >=1.20 && <1.21,
directory >=1.2.3 && <1.5,
filepath >=1.3.0.1 && <1.6,
tasty >=1.5 && <1.6,
tasty-hunit >=0.10 && <0.11,
tasty-quickcheck >=0.11.1 && <0.12,
text >=1.2 && <2.2,
ghc-options: -Wall
default-language: Haskell2010
benchmark micro
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Micro.hs
other-modules: Bench.Corpus
build-depends:
aihc-cpp >=2.0 && <2.1,
base >=4.16 && <5,
bytestring >=0.10.8 && <0.13,
containers >=0.5 && <0.9,
cpphs >=1.20 && <1.21,
deepseq >=1.4 && <1.6,
directory >=1.2.3 && <1.5,
filepath >=1.3.0.1 && <1.6,
hpp >=0.6 && <0.7,
tasty-bench >=0.4 && <0.5,
text >=1.2 && <2.2,
transformers >=0.5 && <0.7,
-- -M caps the heap so an oversized corpus fails with a clear heap-overflow
-- message instead of driving the machine into swap or the OOM killer.
-- -M caps the heap so a runaway corpus fails with a clear heap-overflow
-- message rather than driving the machine into swap. -rtsopts lets a full
-- snapshot sweep raise it: too low a cap does not merely abort, it makes a
-- tool thrash against the limit and look far slower than it is.
ghc-options:
-Wall
-O2
-rtsopts
"-with-rtsopts=-A32m -M1024m -T"
default-language: Haskell2010