language-smtlib: Parsing, printing and incremental I/O for the SMT-LIB 2 format
A Text-based library for parsing, printing, and incrementally streaming the SMT-LIB 2.7 format.
It provides a parametric, fully-annotated AST in which every node carries an optional source-span annotation; a megaparsec-based parser with both whole-text and incremental (S-expression framing) entry points, suitable for solver pipes and REPLs; and a prettyprinter-based printer that guarantees parse . render == id for well-formed trees.
See the README at https://github.com/msakai/language-smtlib#readme for details and examples.
[Skip to Readme]
Modules
[Index] [Quick Jump]
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| profiling | Add -fprof-auto (automatic cost centres) to this package's own components when building with profiling. Off by default so that downstream packages profiling their own code are not cluttered with cost centres from language-smtlib. | Disabled |
| tools | Build the developer-facing command-line tools shipped with this package: language-smtlib-fmt, a round-trip front end that parses an SMT-LIB script and re-emits it in canonical form; and language-smtlib-conformance, a driver that round-trips large external SMT-LIB benchmark suites (e.g. the SMT-LIB / SMT-COMP collections on Zenodo). Off by default: these are development utilities, not needed by downstream packages that only depend on the library. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- language-smtlib-0.2.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.2.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.7 && <5), containers (>=0.6 && <0.8), directory (>=1.3 && <1.4), filepath (>=1.4 && <1.6), hashable (>=1.3 && <1.6), language-smtlib, megaparsec (>=9.0 && <10), parser-combinators (>=1.0 && <1.4), prettyprinter (>=1.7 && <1.8), scientific (>=0.3 && <0.4), text (>=1.2 && <2.2) [details] |
| Tested with | ghc ==9.6.7, ghc ==9.8.4, ghc ==9.10.3, ghc ==9.12.4 |
| License | BSD-3-Clause |
| Copyright | 2026 Masahiro Sakai |
| Author | Masahiro Sakai |
| Maintainer | masahiro.sakai@gmail.com |
| Uploaded | by MasahiroSakai at 2026-07-06T00:15:13Z |
| Category | Language, SMT |
| Home page | https://github.com/msakai/language-smtlib#readme |
| Bug tracker | https://github.com/msakai/language-smtlib/issues |
| Source repo | head: git clone https://github.com/msakai/language-smtlib |
| Distributions | |
| Executables | language-smtlib-fmt, language-smtlib-conformance |
| Downloads | 5 total (5 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2026-07-06 [all 1 reports] |