c-expr-dsl: DSL for the language support by c-expr-runtime

[ bsd3, library, system ] [ Propose Tags ] [ Report a vulnerability ]

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.


[Skip to Readme]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.2.0.0
Change log CHANGELOG.md
Dependencies base (>=4.16 && <4.23), bytestring (>=0.10 && <0.13), c-expr-runtime (>=0.1.0.0 && <0.3), 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.2 && <0.3), 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) [details]
Tested with ghc ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4 || ==9.10.3 || ==9.12.2 || ==9.14.1
License BSD-3-Clause
Author Well-Typed LLP
Maintainer info@well-typed.com
Uploaded by bolt12 at 2026-10-06T14:54:41Z
Revised Revision 1 made by dschrempf at 2026-10-16T07:11:47Z
Category System
Source repo head: git clone https://github.com/well-typed/c-expr.git(c-expr-dsl)
this: git clone https://github.com/well-typed/c-expr.git(tag release-0.2.0.0)(c-expr-dsl)
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 15 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for c-expr-dsl-0.2.0.0

[back to package description]

c-expr-dsl

c-expr-dsl is a Haskell library providing a DSL for the C expression and type language implemented by c-expr-runtime: a Parsec-based parser turning LLVM/Clang libclang macro tokens into a syntax tree, and a bidirectional typechecker. It supports the hs-bindgen project but can be used independently.

c-expr-dsl requires an LLVM/Clang installation, as it parses macros via libclang; see libclang-bindings for setup details.

See the main README for more information, and the changelog for release notes.