Top
Best
New

Posted by adius 7 hours ago

Show HN: Woxi - Open-source Mathematica / Wolfram Language reimplementation(woxi.ad-si.com)
Woxi is an interpreter for the Wolfram Language written in Rust.

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

201 points | 29 commentspage 2
Y_Y 5 hours ago|
Can it run Rubi?

https://rulebasedintegration.org/

adius 4 hours ago|
Yes, Rubi mostly works by now! Performance is still a concern, but we're working on improving it. I'll add some information on how to best use Rubi to the documentation soon. I already have a draft, but didn't find the time to finish it, yet.
nickpsecurity 1 hour ago||
Is Wolframe open-sourced and with open patents?

Beware of copyright issues for API's and patent issues about reimplementations. Wolfram seems serious about his I.P.. After the Oracle case, I'm not reimplementing any language unless it's open with no patent trolling possible.

jkatariy 1 hour ago||
this is lowkey so cool
jshaqaw 5 hours ago||
I’m going to get hate here but what the heck I have karma points to burn. What I have to say is not a critique of this particular project which seems nicely done but a general statement on open source.

I’d rather see more open source projects making something new than so much “Open Source reimplementation.” If closed proprietary companies are so worthless then why do so many open source projects copy those implementations. Did Wolfram really discover the one true way in its language syntax and presentation layer? If it did, is the idea of open source really just making it unviable for companies to invest in important things like that? To be clear these are of course rhetorical questions. The open source world could experiment (and in defense sometimes does) with truly new approaches and interfaces. I just want to see more of it.

Mathematica exists. Mathematica for free versus Mathematica for money is of course a nice trade. But even better would be to try new ways to interact with mathematics unburdened from legacy concerns.

adius 4 hours ago||
I think the Wolfram Language got 80–90% of it right, and that's why I want to reimplement and use it in the first place. It bothers me that I have to use inferior solutions, such as those implemented in Python and Julia, just because the better solution is prohibitively expensive.

Of course, there are a few things I think we can do better than the Wolfram Language, but given all the available legacy code, there's really no point in making it slightly different and losing the ability to use that code. However, we might build an alternative syntax and frontend in the future that surfaces the capabilities of the Wolfram Language with a better UX.

jshaqaw 4 hours ago||
Good points all. Please understand this is more of a general open source friendly criticism I made. There is good value in preserving access to codebases made for Wolfram language which is expensive albeit they do offer decent licenses now to mess around with it.

I’m curious abut benchmarking. Wolfram claims they put a ton of effort into optimizing the speed of at least certain types of mathematical computations.

UX is an area I’d suggest working on. Wolfram was a real pioneer with the notebook style interface but nothing is meant to last forever. That might be an area to innovate without losing access to legacy codebases.

mvdwoord 4 hours ago|||
Not mutually exclusive? The fact that money is being paid for some closed source product does at least prove there is an actual demand for whatever they figured out to do, and how. So either a marginal improvement, or simply open sourcing a subset of an existing product, or making something completely new, or better... all good isn't it?

Maybe reimplementing something that already exists a couple times over leads to good things as well. I can imagine some subtle insights could be gained which matter to some of the user base.

yaroslavvb 3 hours ago|||
They spent a lot of effort on consistent naming. It's basically equivalent of hundred of open source math/visualization packages merged into one, and a single person has made sure for 30 years that functionality integrates in a consistent way. It's much less overhead to remember that using a large collection of OSS libraries. So the naming structure in itself is valuable
deckar01 4 hours ago|||
Closed source, proprietary license, starting at $195/year. Their language is a moat for customers, and this is a bridge back out. If you aren’t getting any benefit from their development direction and the compute is happening on your own hardware, what are you paying a subscription for?
rpdillon 3 hours ago||
I mean, you're basically asking why people don't do high-quality original work and give it away for free, as opposed to copying something that's successful and giving it away for free.

The answer in my mind is fairly obvious: it's far more difficult and risky to do high-quality original work and give it away for free. If you want to see more original innovative work in open source, the two main ways to achieve that are to either do it yourself, or to pay others to do it.

hn2crljhhy 5 hours ago|
[dead]