The transf package

[ Tags: bsd3, compilers-interpreters, library, program, text ] [ Propose Tags ]

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.

Properties

Versions 0.5, 0.6, 0.7, 0.8, 0.10, 0.12, 0.13, 0.13.1
Dependencies base (==4.*), containers, filepath, hashable, hint, monadplus, mtl, music-preludes, process, semigroups [details]
License BSD3
Author Hans Hoglund
Maintainer Hans Hoglund <hans@hanshoglund.se>
Category Music
Source repository head: git clone git://github.com/hanshoglund/transf.git
Uploaded Fri Jun 7 11:47:16 UTC 2013 by HansHoglund
Distributions NixOS:0.13.1
Executables transf
Downloads 1840 total (168 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-21 [all 7 reports]
Hackage Matrix CI

Modules

  • Text
    • Text.Transf

Downloads

Maintainer's Corner

For package maintainers and hackage trustees