transf-0.13: transf.cabal
name: transf
version: 0.13
cabal-version: >= 1.6
author: Hans Hoglund
maintainer: Hans Hoglund <hans@hanshoglund.se>
license: BSD3
license-file: COPYING
synopsis: Text transformer and interpreter.
category: Text, Compilers/Interpreters
tested-with: GHC
build-type: Simple
description:
/Transf/ is simple 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 arbitrary Haskell computation. Transf contains a full Haskell interpreter and can even interpret its input as Haskell.
.
The main purpose of Transf is to allow the embedding of Domain-Specific Languages in 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 hash of the source code.
source-repository head
type: git
location: git://github.com/hanshoglund/transf.git
library
build-depends:
base >= 4 && < 5,
semigroups,
containers,
mtl,
monadplus,
filepath,
data-default,
async,
process,
hashable,
hint
hs-source-dirs: src
exposed-modules:
Text.Transf
Text.Transf.Process
executable "transf"
ghc-options: -O3 -threaded
hs-source-dirs: src
main-is: Main.hs