Posted by adius 7 hours ago
It comes with Woxi Studio, a Mathematica-like GUI built with iced, but you can also use Woxi through a CLI, Jupyter kernel, Python package, npm package, or WASM module.
Compared with wolframscript / Mathematica, the main differences are:
- Free and open source - Very fast startup - Typically milliseconds rather than seconds for the Wolfram kernel, making Woxi practical for shell scripts, one-liners, and other short-lived processes - Embeddable - It can run in a browser via WASM or be embedded into another application as a scripting language
A more detailed comparison with Mathematica is available here: https://woxi.ad-si.com/docs/comparison/mathematica/.
Conformance is ensured with ~26'000 unit tests and ~900 .wls script snapshot tests.
The current focus is on fixing remaining edge cases, improving performance, and growing the community.
If you use the Wolfram Language, I'd be particularly interested in feedback on compatibility and missing functionality. Contributions and bug reports are also very welcome: https://github.com/ad-si/Woxi
If you are planning to add another component, I'd like to +1 the control systems module. It's a lot less clunky than Matlab in my opinion and faster to use. I've used the classical analysis, state space model and matrix equation solver features in that module, none of the microcontroller stuff https://reference.wolfram.com/language/guide/ClassicalAnalys...
Either way, I'll probably be using this after I graduate and no longer have the site license, since I cannot imagine using a different CAS, so thanks for developing this
As for the "most wanted" features, I would vote for PDEs, since most other systems (apart from Mathematica itself) do not support them well.
However, MathLink is one of the few exceptions as it is deprecated by now.
As far as I know WSTP (Wolfram Symbolic Transfer Protocol) is the replacement for MathLink. Is it supported?
For sometime now I've been looking into a good CAS for my app. I've tried a few algebra problems with Sympy, Sage, Xcas, Maxima and Woxi. Of these only Sage, Maxima and Woxi were capable of giving the expected answers.
After trying it out I became fascinated by Wolfram language and other term rewriting languages they are pretty interesting even though most have little to do with CAS like WL.
Anyway I've been looking at this project and plan to seriously use it in the future. So, I've noticed a few things when attempting to run wljs (I had to wrap it with a shell script to get wljs to see it as wolframscript executable). First the version number system variable gives a string instead of the expected real number type (As a temporary hack I modified Woxi to give what wljs expects). There also is a variable that tells to the absolute path of the of the current file and it is wrong when it's used in an imported script. After working around that with hard coded paths things became more difficult.
Edit: just checked my pc and the variables are called $VersionNumber and $InputFileName which is incorrect if the file is evaluated via Get["filepath"].
Anyways, I'm interested in helping out don't know if I can.
I always preferred Mathematica for that to SymPy since it's baked in to the language much more. It was also way way faster than SymPy was for anything interesting.