发现
命令行工具开发者工具
Raku++:Raku 语言的 C++ 实现
用 C++17 从零实现的 Raku 语言解释器、编译器与工具链,可编译为原生二进制。
- 浏览
- 6
- 访问
- 0
- 下载
- 0
- 版本
- v5.6.3
- 平台
- Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。
详细介绍
项目简介
Raku++ 是 Raku 编程语言的一个从零实现,使用 C++17 编写,不依赖任何第三方库。它的词法分析器、语法分析器和树遍历求值器都是手写的,并非 Rakudo 的分支,也不与其共享代码;它以 Raku 官方测试套件 Roast 为衡量标准。
官方公开站点为 raku.online。
主要功能
- 运行真实的 Raku 程序:类、role、grammar、正则、multi-dispatch、junction、惰性序列、大数塔、Unicode 正确的字符串以及并发。
- 可以把程序编译为独立的原生二进制文件。
- 通过 Raku.js 以 WebAssembly 在浏览器中运行,无需服务器。
- 当前版本 v5.6.3 在 Roast 上通过全部 219,395 个测试(100.00%),
spectest.data中的 1,425 个文件全部通过。 - 支持把 Raku 程序写成 Arduino sketch(
--target=arduino)、检测线程间的数据竞争(--detect-races)、从 URL 运行程序。
安装与使用
macOS、Linux、BSD 一行安装:
curl -fsSL https://raku.online/install.sh | sh
Windows 在 PowerShell 中:
irm https://raku.online/install-windows.ps1 | iex
两者都不需要 root 或管理员权限:下载对应机器的压缩包、校验 SHA-256、解压到用户目录并加入 PATH,之后打开新终端。
后续升级:
rakupp upgrade
也可以用 Docker,无需本地安装:
docker run --rm -it ghcr.io/ash/rakupp # REPL
docker run --rm -v "$PWD:/work" ghcr.io/ash/rakupp main.raku # 运行文件
其他分发方式包括 Debian/Ubuntu 的 .deb、macOS 的 Homebrew tap(brew tap ash/rakupp && brew install rakupp)、Windows 安装向导,以及 Releases 页面上的预编译压缩包。
从源码构建:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j 4
快速上手:
rakupp -e 'say "hello, world"' # 单行程序
rakupp app.raku # 运行文件
rakupp --exe app.raku -o app # 编译为原生二进制
./app
注意事项
- 请安装正式 release;
main分支处于开发中,版本之间可能不可用。 - 补丁版本只包含修复,破坏性变更只出现在大版本中。
- 项目以 Artistic-2.0 许可证发布。
本作品整理自 GitHub 开源项目 ash/rakupp,原作者 @ash,许可证 Artistic-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v5.6.3当前版本
生成的 Arduino sketch 现在可被 Arduino IDE 编译(v5.6.0 至 v5.6.2 不行),并降低了对象、哈希与 Rat 的内存占用。
评论