
2026/02/26 3:24
**Woxi** *Rustで再実装した Wolfram Mathematica*
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Woxi は、コマンドラインまたはノートブックインターフェイスから直接スクリプトや Jupyter ノートブックを実行できる、Rust ベースの Wolfram Language インタープリターです。
に列挙された機能の関数(Wolfram 関数の一部)を実装しており、すべての標準 CLI テストに合格します。カーネル起動やライセンスチェックをスキップすることで、公式の WolframScript ツールと同等またはそれ以上のパフォーマンスを達成しています。functions.csv完全な Jupyter サポート(グラフィカル出力含む)および自己完結型の JupyterLite インスタンスにより、Woxi は多くの場合で組み込みカーネルを置き換えることができます。プロジェクトは GitHub でオープンソース化されており、Cargo(
)でインストールするか、cargo install woxiとgit clone https://github.com/ad-si/Woxiを実行してソースからビルドできます。使用例には次のようなものがあります:make install
woxi eval 'StringJoin["Hello", " ", "World!"]'woxi run tests/scripts/hello_world.wls- 提供されたコマンド(例:
)で Jupyter カーネルを起動し、JupyterLab で立ち上げる。woxi jupyter-installコントリビューション、プルリクエスト、およびテストスイートの実行が歓迎されており、機能拡張が継続的に進められています。Woxi は軽量で高性能な Wolfram Language 実行を必要とする開発者、データサイエンティスト、および教育者にとって、CI パイプラインへの Wolfram 計算統合や効率的な代替手段を提供します。
本文
Woxi
Rustで実装されたWolfram Languageのインタープリターです。
主な機能
最初の開発段階では、CLIスクリプトやノートブックで利用できるWolfram Languageのサブセットを実装することに注力しています。例としては次のようなコードが挙げられます:
#!/usr/bin/env woxi (* 1〜9 の範囲から5つの乱数整数を取り、各整数の二乗を表示 *) RandomInteger[{1, 9}, 5] // Map[#^2&] // Map[Print]
Jupyter Notebookとの完全な連携も実現しており、グラフィカル出力にも対応しています。
- CLIテスト ディレクトリには現在サポートされているすべてのコマンドと期待される出力が記載されています。
- すべてのテストはWoxiでもWolframScriptでも通過する必要があります。
ファイルにWolfram Language関数一覧と実装状況を確認できます。functions.csv- Woxiはカーネル起動やライセンス検証などのオーバーヘッドがないため、WolframScriptより高速です。
インストール
Rust の Cargo を使って簡単にインストールできます:
# ソースからビルド git clone https://github.com/ad-si/Woxi cd Woxi make install
※ Rust がインストールされていることを確認してください。インストール方法は https://rust-lang.org でご覧いただけます。
使い方
コマンドライン
woxi eval 'StringJoin["Hello", " ", "World!"]' # Hello World!
スクリプトを実行する場合:
woxi run tests/scripts/hello_world.wls
Jupyter Notebook
カーネルをインストールし、Jupyter を起動します:
# (カーネルのインストールコマンドは省略) cd examples && jupyter lab
また、ブラウザ上で完全にローカルに動作する JupyterLite インスタンスを利用すれば、クラウドへのデータ送信なしにノートブックが使用できます。
CLI の比較(WolframScriptとの対比)
| Woxi | WolframScript |
|---|---|
| |
| |
| |
コントリビュート
ご協力は大歓迎です!Pull Request を遠慮なく送ってください。
テスト
テストスイートを実行するには:
# (テストコマンドは省略)