Heinrich Apfelmus schrieb:
> Henning Thielemann wrote:
>> 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 would like to write
>> sumFor [0..n] (\i -> i^2)
>> (with sumFor xs f = sum $ map f xs)
>> which is rendered as
>> \sum_{i=0}^{n} i^2
>> or
>> integrate 1000 (a,b) (\t -> f t)
>> to be rendered as
>> \int_a^b f(t) \dif t
>
> Neat idea! Can't you do implement this as a DSL?
>
> sumFor x xs f =
> "\sum_{" ++ x ++ "=" ++ head xs ++ "}^{" ++ last xs ++ "} "
> ++ f x
My original idea was to use the formulas in papers both for typesetting
and for unit testing. Thus, when you state that a function fulfills a
law, that it can be automatically tested by QuickCheck, that this at
least true for some instances.
The same would be useful for Haddock documentation. I remember that
someone proposed to permit Haddock to expose the implementation of some
functions as examples or as unit-tests/laws. Now we could extend this
idea to allow Haddock not only to expose the implementation of
functions, but also to tell Haddock how to render its implementation.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe