Raku++ is a comprehensive implementation of the Raku programming language, crafted entirely from the ground up in C++17. With features like a hand-written lexer, parser, and tree-walking evaluator, it supports everything from classes and roles to concurrency, while validating against the official Roast test suite. It can also compile to native binaries and runs in the browser via WebAssembly.
Raku++ is a robust implementation of the Raku programming language, crafted entirely in C++17 without any third-party dependencies. This project features a meticulously hand-written lexer, parser, and tree-walking evaluator that fully supports a plethora of Raku's functionalities including classes, roles, grammars, regexes, multi-dispatch, junctions, lazy sequences, bignum support, and Unicode-compliant strings, along with concurrency capabilities.
A standout feature of Raku++ is its ability to compile Raku programs into standalone native binaries, making it suitable for various development needs. Additionally, through Raku.js, Raku++ can execute in a web browser via WebAssembly, requiring no server infrastructure.
Current Status
The current release is v1.0.0 as of July 22, 2026. Raku++ has achieved a pass rate of 90% against the Roast test suite, successfully passing 194,506 out of approximately 216,066 tests. When evaluated with stricter all-or-nothing criteria, around 39% of test files fully pass, indicating steady progress in its development. To explore key features, take a look at the highlights for quick insights, check out the overview for a concise introduction, or consult the full guide for comprehensive details.
Quick Start with Raku++
Leveraging Raku++ is straightforward:
# Execute Raku code directly
grakupp -e 'say "hello, world"' # A simple one-liner
rakupp path/to/program.raku # Execute a file
echo 'say 42' | rakupp # Run code from stdin
Raku++ is designed to locate the necessary runtime library relative to its binary, facilitating smooth execution from any directory whether built or installed. For more efficient processing, the option RAKUPP_PARALLEL=1 allows true parallelism across CPU cores during start/worker threads.
Run Raku in the Browser - Raku.js
The Raku.js interpreter allows Raku code to be executed directly within the browser. To see it in action, visit raku.online, which boasts an interactive environment for running Raku snippets client-side, enhancing the learning and testing experience without server-side limitations.
Documentation and Further Resources
For comprehensive guidance and insights into Raku++, various documentation resources are available:
- Overview - What Raku++ encompasses and its goals.
- Features - A catalog of supported language features.
- Cookbook - A collection of runnable examples demonstrating Raku++ capabilities.
- Architecture - An in-depth look at Raku++'s design and implementation.
Explore the extensive ecosystem and projects built using Raku++ by visiting the Ecosystem documentation. This project not only seeks to enhance the Raku experience but also continues to evolve towards supporting the entirety of the Raku language's rich functionality.
No comments yet.
Sign in to be the first to comment.