Raku++

The interpreter behind everything on this site. An independent implementation of Raku, written from scratch in C++17 and compiled to WebAssembly, so it runs in a browser tab with nothing behind it.

say "Raku++ is running this, in your browser.";
say (1..10).grep(*.is-prime).join(', ');

Why Raku++?

Raku++ is a full interpreter and compiler for Raku, written from scratch in C++17. It starts fast, has no runtime to install, and — because it compiles to WebAssembly — it will run anywhere there is a browser. That is what makes the playground, the tour and the drills possible at all: there is no server here, and no download for the reader.

It is its own implementation, not a port, so it does not match Rakudo in every corner — and this site does not pretend otherwise. Where the two disagree, the specification says so on the page for that feature, in as many words, and the conformance pages keep the running count.

Where to look

Running it outside a browser

Raku++ is a native binary as well. The rakupp repository has the source and releases; this very site is generated by it.