工具推荐·阅读约 2 分钟·
Woxi:用 Rust 重写 Mathematica,743 星的开源 Wolfram Language 解释器

Woxi:用 Rust 重写 Mathematica,743 星的开源 Wolfram Language 解释器

Woxi 是一个用 Rust 实现的 Wolfram Language 解释器,可替代每年上千美元的 Mathematica:支持 CLI 脚本、Jupyter 内核、浏览器端 WebAssembly,还能直接运行 .nb 笔记本文件,启动比 WolframScript 快得多。

原文来源:GitHub ad-si/Woxi — 用 Rust 重写 Wolfram Language 的开源解释器,支持 CLI、Jupyter、WebAssembly,无需 Mathematica 授权即可运行符号计算与绘图。

Mathematica 的定价一直是个痛点:个人版一年要 1570 美元,商业版 8760 美元起步。36 年来,Wolfram Language 几乎是唯一的选择——直到本周 Hacker News 上一条帖子冲上热榜:Woxi,一个用 Rust 写的 Wolfram Language 解释器,发布当天拿到 222 个赞,GitHub 上已有 743 颗星。

它是什么

Woxi 是 Wolfram Language / Mathematica 的开源重实现,用 Rust 编写,AGPL-3.0 协议开源。作者是奥地利独立开发者 ad-si。它的目标不是复刻整个 Wolfram 生态,而是实现一个"够用的子集",覆盖 CLI 脚本和笔记本这两大日常场景。

核心卖点:不需要买 Mathematica 授权,也不需要启动庞大的 Wolfram 内核。Woxi 直接作为原生二进制运行,启动速度远快于 WolframScript——因为它没有内核启动和许可证校验的开销。

—— 广告 ——

能干什么

写代码和画图这些 Wolfram 语言核心能力都支持。官方的示例脚本长这样:

code
#!/usr/bin/env woxi
 
(* Print the square of 5 random integers between 1 and 9 *)
RandomInteger[{1, 9}, 5] // Map[#^2&] // Map[Print]

支持四种使用形态:

1. CLI 命令行woxi eval "1 + 2" 直接算表达式,woxi run script.wls 跑脚本,还能当 shebang 解释器用:

code
woxi eval "1 + 2"
# 3
 
woxi eval 'StringJoin["Hello", " ", "World!"]'
# Hello World!
 
woxi repl
# In[1]:= x = 5
# Out[1]= 5
# In[2]:= x^2
# Out[2]= 25

REPL 里定义和 % / Out[] 历史都跨输入保留,跟 Mathematica 交互体验一致。

2. Jupyter 笔记本woxi install-kernel 安装内核后就能在 Jupyter 里用,支持图形输出。不想本地装的话,官方还挂了 JupyterLite 实例,纯浏览器运行、数据不出本地。

3. WebAssembly。打包成 npm 包 woxi-wasm,浏览器里直接跑:

code
import { evaluate } from "woxi-wasm"
evaluate("Plus[1, 2]")  //=> "3"

4. Woxi Studio。一个原生笔记本编辑器,支持 .nb 文件单元格编辑、内联图形,可导出为 .ipynb、Markdown、LaTeX、Typst 和 PDF。macOS 版直接装成 .app,注册 Launch Services 后 .nb.wl.wls 文件都能用"打开方式"唤起。

和 WolframScript 的对比

功能WoxiWolframScript
单行求值woxi eval "1 + 2"wolframscript -code "1 + 2"
运行脚本woxi run script.wlswolframscript script.wls
运行 .nb 文件✅ 直接支持❌ 不支持
REPLwoxi replwolframscript(无参数)
许可证无(AGPL 开源)需要 Mathematica 授权
启动速度快(无内核启动)慢(要起内核+验授权)

一个有意思的细节:Woxi 的 CLI 测试目录里所有命令都要求"Woxi 和 WolframScript 输出一致"——也就是说项目团队自己把兼容性当硬性标准在维护。项目里还有一份 functions.csv,列出每个 Wolfram 语言函数的实现状态,透明公开。

安装方式

code
# 用 cargo 装
cargo install woxi
 
# 或从源码构建
git clone https://github.com/ad-si/Woxi
cd Woxi
make install

GitHub Release 为 Linux、macOS、Windows(x86-64 和 arm64)提供预编译二进制,附 SHA256SUMS.txt 校验。Python 版走 PyPI(pip install woxi),JavaScript 版走 npm。macOS 版 Studio 未公证,解压后需要 xattr -dr com.apple.quarantine "Woxi Studio.app" 去掉隔离标记。

谁适合用它

适合:做数学、物理、工程计算的开发者;想学 Wolfram 语言但不想掏 Mathematica 授权费的学生;需要把 Wolfram 脚本自动化进 CI 的人;以及任何觉得"为一次符号积分启动几 GB 的内核"很荒谬的人。

不适合:重度依赖 Mathematica 完整功能(如完整的内置知识库、Wolfram Alpha 集成、某些高级数值包)的用户。Woxi 目前是"常用子集"路线,functions.csv 里的实现状态一目了然,用之前值得扫一眼。

同类对比

Wolfram 语言的替代品其实不多。商业侧只有 Mathematica 本体;开源侧,mathics 是 Python 实现的老牌项目,但性能一般、长期维护乏力。Woxi 的优势在于:Rust 单二进制、启动快、原生支持 .nb 文件、WebAssembly 分发——这些正好踩在 mathics 的短板上。从 743 颗星和 HN 热度看,社区对这个方向的期待值不低。

一句话总结:如果你想要一个不花钱、启动快、还能嵌入浏览器和 Jupyter 的 Wolfram 语言环境,Woxi 是目前最值得试的开源选项。

分享到
微博Twitter

© 2026 四月

原文链接:https://www.aprilzz.com/tools/woxi-wolfram-language-rust