跳到正文
发现
命令行工具开发者工具

Raku++:Raku 语言的 C++ 实现

用 C++17 从零实现的 Raku 语言解释器、编译器与工具链,可编译为原生二进制。

admin
发布于 2026-11-07
浏览
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 整理,以原仓库为准。

更新记录

  1. v5.6.3当前版本

    生成的 Arduino sketch 现在可被 Arduino IDE 编译(v5.6.0 至 v5.6.2 不行),并降低了对象、哈希与 Rat 的内存占用。

评论