Do you mean in the sense of symbolic algebraic transformations at
compile time? D would be the prime candidate for that.
If you just want to go for a small solution for your specific problem,
it should actually be quite straightforward to hack up.
A more generic approach like a library should be a fascinating project.
I could imagine that this kind of project would lead you very quickly
very deep into the design philosophy of the language. I can only
encourage you to try it out.
On 20.10.2011 12:13, Dominic Jones wrote:
I have worked on differentiating algorithms written in Fortran 90/95
using Tapenade (http://www-sop.inria.fr/tropics/tapenade.html) with
moderate success.
For more expressive languages the source transformation process
rapidly tends towards the impossible. However, I speculate that in D
some of its language features (e.g. mixin, scope) may facilitate
differentiation without recourse to an external tool.
I don't know D well enough, and I am not familiar with the possible
trickery that can be done with such a language, but if there is
someone who does have some understanding of automatic
differentiation and is competent with D, I'd be very interested in
your comments as to whether or not such a pursuit is worthwhile.
Thank you
Dominic Jones