← Raku++ in use

live — software that already existed

Whole tools from the Raku ecosystem, run under Raku++ exactly as their authors wrote them.

The tools are other people's work, and they are not copied into this repository. Each is a published distribution, installed from the ecosystem the way any user installs it, and left completely alone — not patched, not vendored, not adjusted to fit. What lives in the directories below is only what is needed to drive one: a scenario, a config, a small corpus, a README.md, a compare.sh, and — where the entry measures something — a bench.sh. Those we wrote; the software under test we did not, and each entry credits and links to whoever did.

That is the difference from showcase/, which holds mid-size programs written here to exercise one part of the language each. A program written against an implementation tends to stay inside what that implementation does well. Software written by somebody else, for their own purposes, does not — and what it reaches for is not what we would have thought to test.

A third angle is docs/status/DOGFOODING.md: the tools that build, test and measure Raku++ — and the sites that serve the project's own ecosystem — are themselves Raku programs run by rakupp. Here we run somebody else's software; there we run our own, every day.

ProjectWhat it isWhat it exercises
sparrow/Sparrow6, an automation framework (zef:sp1983)a process per task, in Bash, Raku and Perl — so it measures what starting an interpreter costs

How an entry works

The tool is installed, never checked in: rakupp install <dist> or zef install <dist>, both writing the same store. So an entry's directory is small on purpose — it is a harness, not a copy of anything, and updating the tool means reinstalling it rather than editing files here.

compare.sh is the contract. It takes rakupp and raku from PATH (set RAKUPP= to name a build tree instead), runs the same input under both and diffs stdout, normalising only what is supposed to differ between two runs (a timestamp, a PID). A green MATCH is the whole claim: same program, same output, no changes on either side.

Where an entry reports numbers, a bench.sh beside it produces them, so every table in this directory is one command away from being checked rather than believed.

None of these are wired into t/run.raku. They need distributions the suite cannot assume, and several have side effects outside the repository — files under $HOME, spawned processes, sockets. compare.sh is the check, run by hand.

What they are for

Not a demo reel. Every entry here earned its place by breaking something: a tool nobody here wrote reaches for corners nobody here would have written a test for, and the faults it finds are general ones that were simply waiting for a caller. sparrow/ cost four fixes on the day it was added, none of them about Sparrow — an IO::Path method's return type, a missing Proc::Async method, a react that registered its taps too late, and a parse rule for name<key>. Each is pinned now by a case in t/regression/.

So the bar for adding one is not "it looks impressive". It is: somebody else's software, installed rather than copied here, run unmodified and credited, with its output checked against Rakudo's.