Wolfgang Jeltsch g9ks157k at acme.softbase.org
Mon Feb 9 12:32:46 EST 2009

Am Montag, 9. Februar 2009 15:10 schrieben Sie:
> I want for long to write math formulas in a paper in Haskell. Actually,
> lhs2TeX can do such transformations but it is quite limited in handling
> of parentheses and does not support more complicated transformations
> (transforming prefix notation in infix notation or vice versa with
> minimal parentheses).
>
> […]
>
> I imagine some rule based configuration that is implemented using
> haskell-src, that handles all identifiers, say, with prefix "parameter"
> as wildcards:
>
>    sumFor [parameterA..parameterB] (\parameterI -> parameterS)
>        =>    \sum_{parameterI=parameterA}^{parameterB} parameterS
>
> Unfortunately a tool for this transformation still has to be written,
> but wouldn't that be really cool? The tool might be even relatively
> simple, but the configuration is certainly non-trivial and it would have
> to be hard-wired into cabal in order to provide identical rendering on
> all systems and output formats (TeX or MathML).

This reminds me of an idea which I had some time ago. The idea is to write all
expressions and embed these expressions into your documentation expressions.
This would make the documentation language very extensible since you could
always write your own extensions in the form of some Haskell code fragments
or libraries.

To build the documentation, one would run GHC with a special flag or whatever
which makes the Template Haskell parts build HTML or whatever. Without the
flag, the documentation code would do nothing. By using Template Haskell, one