Woxi - Open-source Wolfram Language interpreter in Rust
Show HN: Woxi - Open-source Mathematica / Wolfram Language reimplementation

Woxiは、Wolfram LanguageをRustで再実装したオープンソースのインタプリタです。ブラウザ上で完全に動作し、データを外部に送信しないため、プライバシーを保ちながら数式処理、グラフ描画、データ可視化を体験できます。コマンドラインツール、Jupyterカーネル、ネイティブノートブックエディタなど、多様なフロントエンドを提供し、Wolfram言語の機能を手軽に利用できます。
すべてがブラウザ内でローカルに実行され、データはどこにも送信されません。
HNでの議論
46- peterus
順序不同実行と%変数をサポートしない理由は理解できます。それはノートブックをより読みやすく、使いやすくするためです。残念ながら、私がMathematicaを使うときのほとんどは、読みやすく再現可能なノートブックを作るためではなく、大学の課題を助けるためなので、複数の文をブロックにまとめたり、%を頻繁に使ったりといったショートカットを取ってしまいます。
別のコンポーネントを追加する予定があるなら、制御システムモジュールに+1したいです。私の意見では、Matlabよりもずっと洗練されておらず、速く使えます。そのモジュールの古典解析、状態空間モデル、行列方程式ソルバーの機能を使ったことがありますが、マイクロコントローラ関連のものは使っていません。https://reference.wolfram.com/language/guide/ClassicalAnalys...
いずれにせよ、卒業してサイトライセンスが使えなくなったら、これを使うことになるでしょう。他のCASを使うとは思えないからです。開発してくれてありがとうございます。
- xvilka
幸運を祈ります。いつか、Maxima、SymPy、Octave、GAP、PARI/GPなどの完全に異なる、ばらばらのシステムに対するPythonの接着剤の集まりであるSageの代わりに、よく統合された(そしてRustで書かれているので驚くほど速い)ものが登場することを願っています。私はオープンソースの大支持者ですが、Sageとその仲間たちに苦労した後、Wolfram Mathematicaのライセンスを購入する価値があると判断しました(それ以来後悔したことはありません)。もうその必要がなくなれば素晴らしいです。
「最も望まれる」機能としては、偏微分方程式に投票します。なぜなら、他のほとんどのシステム(Mathematica自身を除く)は偏微分方程式をうまくサポートしていないからです。
- alex7o
これは6ヶ月前にも投稿されました:https://news.ycombinator.com/item?id=47155526
- ethanc8
https://nmd.web.illinois.edu/classes/2024/241/schedule.html の多変数微積分のビジュアライゼーション(「visualization」で検索)を試してみましたが、Woxi Studioはそれらを表示できるようです。現在Mathematicaを持っていないので比較できないため、完全に正しいかどうかはわかりません(いくつかバグがあるかもしれません)。
- bobajeff
Wolfram Languageをこれまで使ったことがなかった私にとって、このプロジェクトは興味を引くものでした。
しばらく前から、自分のアプリに適したCASを探していました。Sympy、Sage、Xcas、Maxima、Woxiでいくつかの代数問題を試しました。これらのうち、期待通りの答えを出せたのはSage、Maxima、Woxiだけでした。
試してみた後、Wolfram Languageと他の項書き換え言語に魅了されました。それらのほとんどはWLのようなCASとはほとんど関係ありませんが、かなり興味深いです。
とにかく、このプロジェクトを見ていて、将来真剣に使うつもりです。それで、wljsを実行しようとしたときにいくつか気づいたことがあります(wljsがそれをwolframscript実行ファイルとして認識するように、シェルスクリプトでラップする必要がありました)。まず、バージョン番号のシステム変数が、期待される実数型ではなく文字列を返します(一時的なハックとして、wljsが期待するものを返すようにWoxiを変更しました)。また、現在のファイルの絶対パスを示す変数がありますが、インポートされたスクリプトで使用すると正しくありません。ハードコードされたパスで回避した後、物事はより困難になりました。
編集:自分のPCを確認したところ、変数は$VersionNumberと$InputFileNameと呼ばれており、ファイルがGet["filepath"]で評価される場合、$InputFileNameは正しくありません。
とにかく、手伝うことに興味がありますが、できるかどうかはわかりません。