transf: Text transformer and interpreter.
Transf is functional text transformer and interpreter.
It scans its input for guard tokens and passes everything between to transformation functions. Transformation functions are composed from a small set of combinators and may perform arbirary Haskell computation. Transf contains a full Haskell interpeter and can even interpret its input as Haskell.
The main purpose of Transf is to allow the embedding of Domain-Specific Languages in plain text or Markdown files. For example one could use it with Diagrams as follows:
> This is my file. Here is an image:
>
> ~~~diagram "A circle!"
> circle <> stretchX 2 square
> ~~~
Transf can then generate the image, and replace the source in the text file with the name of the actual image. It can also include the source.
> This is my file. Here is an image:
>
>
>
You can supply your own file names. In the above example, the file name is a 32-bit hash of the source code.
Downloads
- transf-0.5.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.5, 0.6, 0.7, 0.8, 0.10, 0.12, 0.13, 0.13.1 |
---|---|
Dependencies | base (>=4 && <5), containers, filepath, hashable, hint, monadplus, mtl, music-preludes, process, semigroups [details] |
Tested with | ghc >=0 |
License | BSD-3-Clause |
Author | Hans Hoglund |
Maintainer | Hans Hoglund <hans@hanshoglund.se> |
Category | Music |
Source repo | head: git clone git://github.com/hanshoglund/transf.git |
Uploaded | by HansHoglund at 2013-06-07T11:47:16Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Executables | transf |
Downloads | 5704 total (1 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2016-12-21 [all 7 reports] |