ad-si/Woxi

GitHub: ad-si/Woxi

用 Rust 实现的开源 Wolfram Language 解释器,支持 CLI 脚本执行和 Jupyter Notebook。

Stars: 510 | Forks: 15

Wordmark of Woxi # Woxi 一个由 Rust 驱动的 Wolfram Language 解释器。 ![使用 Woxi 的应用程序拼贴图](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/825969fb86194721.png) ## 功能 最初的重点是实现 Wolfram Language 的一个子集, 以便它可以用于 CLI 脚本编写和笔记本。 例如: ``` #!/usr/bin/env woxi (* Print the square of 5 random integers between 1 and 9 *) RandomInteger[{1, 9}, 5] // Map[#^2&] // Map[Print] ``` 它完全支持 Jupyter Notebooks,包括图形输出: ![Jupyter Notebook 屏幕截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c18e155eb2194723.png) 查看 [CLI 测试](./tests/cli) 目录, 以了解当前支持的所有命令及其预期输出。 所有测试必须在 Woxi 和 WolframScript 中通过。 也可以查看 [functions.csv](./functions.csv) 文件, 获取所有 Wolfram Language 函数及其实现状态的列表。 Woxi 的运行速度比 WolframScript 更快,因为没有启动内核 和验证许可证的开销。 ## 安装 你可以使用 [Rust 的 cargo](https://doc.rust-lang.org/cargo/) 轻松安装: ``` cargo install woxi ``` ### 从源码构建 如果你想从源码构建 Woxi,你需要安装 Rust。 你可以从 [rust-lang.org](https://www.rust-lang.org/tools/install) 获取它。 克隆仓库,构建项目,并安装它: ``` git clone https://github.com/ad-si/Woxi cd Woxi make install ``` ## 用法 你可以直接从命令行使用解释器: ``` woxi eval "1 + 2" # 3 ``` ``` woxi eval 'StringJoin["Hello", " ", "World!"]' # Hello World! ``` 或者你可以运行脚本: ``` woxi run tests/scripts/hello_world.wls ``` ### Jupyter Notebook 你也可以在 Jupyter notebooks 中使用 Woxi。 使用以下命令安装内核: ``` woxi install-kernel ``` 然后启动 Jupyter 服务器: ``` cd examples && jupyter lab ``` 或者直接使用我们的 [JupyterLite 实例](https://woxi.ad-si.com/jupyterlite/lab/index.html?path=showcase.ipynb)。 它完全在浏览器中独立运行,不向云端发送任何数据。 ## CLI 与 [WolframScript]() 的对比 Woxi | WolframScript --- | --- `woxi eval "1 + 2"` | `wolframscript -code "1 + 2"` `woxi run script.wls` | `wolframscript script.wls` `woxi repl` | `wolframscript` ## 贡献 非常欢迎贡献! 请随时提交 Pull Request。 ### 测试 要运行测试套件: ``` make test ```
标签:cargo, CLI 工具, Jupyter Kernel, JupyterLite, Mathematica, Rust, SOC Prime, Wolfram Language, WolframScript 替代, Woxi, 函数式编程, 可视化界面, 开发工具, 开源实现, 科学计算, 符号计算, 编程语言开发, 网络流量审计, 脚本语言, 解释器, 通知系统, 通知系统