syntactic: Generic representation and manipulation of abstract syntax
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Warnings:
- Packages relying on Cabal 1.12 or later should specify a specific version of the Cabal spec of the form 'cabal-version: x.y'. Use 'cabal-version: 1.16'.
The library provides a generic representation of type-indexed abstract syntax trees (or indexed data types in general). It also permits the definition of open syntax trees based on the technique in Data Types à la Carte [1].
This package does not work on GHC version 8.2, but works on many earlier and later versions.
(Note that the difference between version 2.x and 3.0 is not that big. The bump to 3.0 was done because the modules changed namespace.)
For more information, see "A Generic Abstract Syntax Model for Embedded Languages" (ICFP 2012):
Paper: https://emilaxelsson.github.io/documents/axelsson2012generic.pdf
Slides: https://emilaxelsson.github.io/documents/axelsson2012generic-slides.pdf
Example EDSLs can be found in the examples
folder.
\[1\] W. Swierstra. Data Types à la Carte. Journal of Functional Programming, 18(4):423-436, 2008, http://dx.doi.org/10.1017/S0956796808006758.
Properties
Versions | 0.1, 0.2, 0.2.0.1, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0.1, 1.2, 1.2.1, 1.3, 1.4, 1.5.1, 1.5.2, 1.6.1, 1.7.1, 1.8, 1.9, 1.10, 1.11, 1.12.1, 1.13, 1.14, 1.15, 1.15.1, 1.16, 1.16.1, 1.16.2, 1.17, 2.0, 2.1, 3.0, 3.1, 3.2, 3.2.1, 3.3, 3.4, 3.5, 3.6, 3.6.1, 3.6.2, 3.6.3, 3.7, 3.7.1, 3.8, 3.8, 3.8.1, 3.8.2, 3.8.3, 3.8.4 |
---|---|
Change log | None available |
Dependencies | base (>=4.6 && <4.13), base-orphans, constraints (<0.11), containers (<0.7), data-hash (<0.3), deepseq (<1.5), mtl (>=2 && <2.3), syb (<0.8), tagged, template-haskell, tree-view (>=0.5 && <0.6) [details] |
License | BSD-3-Clause |
Copyright | Copyright (c) 2011-2015, Emil Axelsson |
Author | Emil Axelsson |
Maintainer | 78emil@gmail.com |
Category | Language |
Home page | https://github.com/emilaxelsson/syntactic |
Bug tracker | https://github.com/emilaxelsson/syntactic/issues |
Source repo | head: git clone https://github.com/emilaxelsson/syntactic |
Uploaded | by EmilAxelsson at 2019-03-27T10:10:15Z |
Modules
[Index] [Quick Jump]
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
th | Include the module Language.Syntactic.TH, which uses Template Haskell | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- syntactic-3.8.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees