Greg Buchholz wrote:
Casey Hawthorne wrote:
The Q Programming Language can do the following:

sqr X = X*X

==>sqr 5
25

==>sqr (X+1) (X+1)*(X+1)

Can Haskell do symbolic manipulation?

    Typeful symbolic differentiation of compiled functions
http://www.haskell.org/pipermail/haskell/2004-November/014939.html


And a GADT version of differentiation:

http://haskell.org/hawiki/ShortExamples_2fSymbolDifferentiation

which also does some simplifications. I have a version that I did not post that uses the hs-plugins: It can take a function like

f x = x * log x + 7 * (-x) + (2**x) - (sin x)

and compute the derivative, simplify it, emit the haskell code for it, compile it via hs-plugins, and be able to use it.

Of course, you can't INLINE a new function like that, but the performance is still very good.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to