That looks very interesting, thanks for sharing!
My latest stab at computer algebra, Math.NET Symbolics, actually uses straight recursive F# pattern matching (example: differentiation) which makes the code very compact and readable, but as is is indeed not dynamically extensible, so a rule approach might come in handy (also e.g. once we move towards symbolic integration).
Thanks,
Christoph
My latest stab at computer algebra, Math.NET Symbolics, actually uses straight recursive F# pattern matching (example: differentiation) which makes the code very compact and readable, but as is is indeed not dynamically extensible, so a rule approach might come in handy (also e.g. once we move towards symbolic integration).
Thanks,
Christoph