As an alternative, I’m working on reimplementing Wolfram Language/ Mathematica in Rust: https://woxi.ad-si.com/
A lot of Wolfram Language code just works already!
There is at least one benchmark on the main page https://gist.github.com/benruijl/3c53b1b0aea88b978ae609e7369.... And although it would be nice if it was open source, it is still a much nicer setup than Mathematica, as it is source available, (+ some parts are truely open source), is much faster, can be used in rust or python (so no obscure bundled language to learn), and the license lets you use one core for free (always).
I’ve been a rust user of symbolica since 0.1 and it is insane how much nicer it is to use now.
Builder patterns for constructing replacement rules (and now evaluators!), macros for namespacing symbols, and now the call trait to fill in for callables in rust.
Not to mention the broad implementation of arithmetic on Atoms (the expression type of symbolica) with other std types and with symbols.
As an alternative, I’m working on reimplementing Wolfram Language/ Mathematica in Rust: https://woxi.ad-si.com/ A lot of Wolfram Language code just works already!
Past discussion (2 years ago, 119 comments): https://news.ycombinator.com/item?id=40297423
This software does symbolic maths, and it's commercially licensed. The site still seems to be lacking comparisons to other computer algebra systems.
The project is unrelated to this other Symbolica that does symbolic code execution, despite the similar sounding brief descriptions: https://news.ycombinator.com/item?id=28443587
There is at least one benchmark on the main page https://gist.github.com/benruijl/3c53b1b0aea88b978ae609e7369.... And although it would be nice if it was open source, it is still a much nicer setup than Mathematica, as it is source available, (+ some parts are truely open source), is much faster, can be used in rust or python (so no obscure bundled language to learn), and the license lets you use one core for free (always).
I’ve been a rust user of symbolica since 0.1 and it is insane how much nicer it is to use now.
Builder patterns for constructing replacement rules (and now evaluators!), macros for namespacing symbols, and now the call trait to fill in for callables in rust.
Not to mention the broad implementation of arithmetic on Atoms (the expression type of symbolica) with other std types and with symbols.