mentat-collective / emmy

The Emmy Computer Algebra System.
https://emmy.mentat.org
GNU General Public License v3.0
363 stars 18 forks source link

Benchmark and (possibly) speed up term-rewriting #51

Open sritchie opened 3 years ago

sritchie commented 3 years ago

@kovasb has some excellent experiments in https://github.com/kovasb/combinator on how to do very fast term rewriting in clj/cljs, 2-3x faster than Mathematica is able to support. @littleredcomputer , you may have studied this already (please close the issue if so!) but I'd love your thoughts on the zipper-based implementation here, and whether it might give us some advantages over the current implementation.

Some other Clojure term-rewriting systems:

sritchie commented 3 years ago

I'm currently taking this work on in sicmutils/sicmutils#155 .

littleredcomputer commented 3 years ago

I worry about this a little.

I haven't looked at the implementation, but there is a winsome transparency to the GJS implementation. I was thinking of beefing the macros up a little bit to count the number of times simplification steps were invoked and a count of how often they did anything useful.

On Sun, Nov 15, 2020 at 11:58 AM Sam Ritchie notifications@github.com wrote:

I'm currently taking this work on in sicmutils/sicmutils#155 https://github.com/littleredcomputer/sicmutils/pull/155 .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/littleredcomputer/sicmutils/issues/100#issuecomment-727627117, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB3Y7ILESMSTLPU3YLWFB3SQAXHHANCNFSM4QSFL6VA .