The transf package

[Tags:bsd3, library, program]

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: > > ![A circle](a22b15efb10b.png) > You can supply your own file names. In the above example, the file name is a 32-bit hash of the source code.


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 <>
Category Music
Source repository head: git clone git://
Uploaded Fri Jun 7 11:47:16 UTC 2013 by HansHoglund
Distributions NixOS:0.13.1
Downloads 1620 total (13 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-12-21 [all 7 reports]
Hackage Matrix CI


  • Text
    • Text.Transf


Maintainer's Corner

For package maintainers and hackage trustees