c-expr-dsl-0.1.0.1: c-expr-dsl.cabal
cabal-version: 3.0
name: c-expr-dsl
version: 0.1.0.1
license: BSD-3-Clause
license-file: LICENSE
author: Well-Typed LLP
maintainer: info@well-typed.com
category: System
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
synopsis: DSL for the language support by c-expr-runtime
tested-with:
GHC ==9.2.8
|| ==9.4.8
|| ==9.6.7
|| ==9.8.4
|| ==9.10.3
|| ==9.12.2
|| ==9.14.1
description:
This library provides the front end for the c-expr DSL: a Parsec-based parser
that turns libclang macro tokens into a syntax tree, and a typechecker that
assigns types to macro expressions according to the rules implemented in
c-expr-runtime.
data-files:
*.golden
*.h
data-dir: test/fixtures
source-repository head
type: git
location: https://github.com/well-typed/c-expr.git
subdir: c-expr-dsl
source-repository this
type: git
location: https://github.com/well-typed/c-expr.git
subdir: c-expr-dsl
tag: release-0.1.0.1
common lang
build-depends: base >=4.16 && <4.23
default-language: GHC2021
default-extensions:
DataKinds
DeriveAnyClass
DerivingStrategies
LambdaCase
MultiWayIf
OverloadedStrings
PatternSynonyms
QuantifiedConstraints
TypeFamilies
UndecidableInstances
other-extensions:
CPP
MagicHash
ghc-options:
-Wall -Wunused-packages -Wno-unticked-promoted-constructors
-Wprepositive-qualified-module
library
import: lang
hs-source-dirs: src
exposed-modules:
C.Expr.Parse
C.Expr.Syntax
C.Expr.Typecheck
C.Expr.Typecheck.Interface.Type
C.Expr.Typecheck.Interface.Value
C.Expr.Typecheck.Type
C.Expr.Util.Panic
other-modules:
C.Expr.Parse.Expr
C.Expr.Parse.Identifier
C.Expr.Parse.Infra
C.Expr.Parse.Literal
C.Expr.Syntax.Expr
C.Expr.Syntax.Identifier
C.Expr.Syntax.Literal
C.Expr.Syntax.Name
C.Expr.Syntax.TTG
C.Expr.Syntax.TTG.Parse
C.Expr.Syntax.TTG.Typecheck
C.Expr.Syntax.Type
C.Expr.Typecheck.Expr
C.Expr.Util.Parsec
C.Expr.Util.TestEquality
-- internal dependencies
build-depends: c-expr-runtime >=0.1.0.0 && <0.2
-- external dependencies
build-depends:
, bytestring >=0.10 && <0.13
, containers >=0.6 && <0.9
, debruijn >=0.3.1 && <0.4
, fin >=0.3.2 && <0.4
, indexed-traversable >=0.1.4 && <0.2
, libclang-bindings >=0.1 && <0.2
, mtl >=2.2 && <2.4
, parsec >=3.1 && <3.2
, scientific >=0.3.7 && <0.4
, some >=1.0.6 && <1.1
, text >=1.2 && <2.2
, vec >=0.5 && <0.6
test-suite test-c-expr-dsl
import: lang
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
other-modules:
Paths_c_expr_dsl
Test.CExpr.Parse
Test.CExpr.Parse.Golden
Test.CExpr.Parse.Infra
Test.CExpr.Parse.Literal
Test.CExpr.Parse.Macro
Test.CExpr.Parse.Type
Test.CExpr.Typecheck
Test.CExpr.Typecheck.Classify
Test.CExpr.Typecheck.Infra
Test.CExpr.Util
autogen-modules: Paths_c_expr_dsl
-- internal dependencies
build-depends:
, c-expr-dsl
, c-expr-runtime
-- external dependencies
build-depends:
, bytestring >=0.10 && <0.13
, containers >=0.6 && <0.9
, debruijn >=0.3.1 && <0.4
, filepath >=1.4 && <1.6
, fin >=0.3.2 && <0.4
, libclang-bindings >=0.1 && <0.2
, parsec >=3.1 && <3.2
, tasty >=1.4 && <1.6
, tasty-golden >=2.3 && <2.4
, tasty-hunit >=0.10 && <0.11
, text >=1.2 && <2.2
, vec >=0.5 && <0.6