Where things diverge
One row per type or operator, one dot per executed check, coloured by outcome. Sorted worst first, so the clusters are the top of each table.
all agreeRaku++ differsdocumentation staleRaku++ matches the docs, Rakudo does notall three differnot run
Over time #
One point per regeneration of the data, oldest first. The history is kept append-only in src/data/history.jsonl, so this chart can be replaced by something richer without losing the record.
okrakupp-differsdoc-driftrakudo-differsall-differ
Types
Each dot is one example from the official documentation, run on both engines and compared against the output the documentation asserts.
Operators
Each dot is the same expression run on both engines. Every operator that parses is listed, worst first — so the disagreements cluster at the top and the rest runs green.
| Operator | n | agree | differ | both reject | outcome |
|---|---|---|---|---|---|
but infix | 7 | 3 | 4 | ||
... infix | 7 | 4 | 3 | ||
^ prefix | 6 | 3 | 2 | 1 | |
!= infix | 7 | 6 | 1 | ||
andthen infix | 7 | 6 | 1 | ||
coll infix | 7 | 6 | 1 | ||
does infix | 7 | 1 | 6 | ||
min infix | 7 | 6 | 1 | ||
mod infix | 7 | 4 | 1 | 2 | |
unicmp infix | 7 | 6 | 1 | ||
∪ infix | 7 | 6 | 1 | ||
≠ infix | 7 | 6 | 1 | ||
⊎ infix | 7 | 6 | 1 | ||
⊖ infix | 7 | 6 | 1 | ||
+ prefix | 6 | 4 | 1 | 1 | |
- prefix | 6 | 4 | 1 | 1 | |
let prefix | 6 | 1 | 5 | ||
temp prefix | 6 | 1 | 5 | ||
! infix | 7 | 0 | 7 | ||
% infix | 7 | 5 | 0 | 2 | |
%% infix | 7 | 5 | 0 | 2 | |
& infix | 7 | 7 | 0 | ||
&& infix | 7 | 7 | 0 | ||
* infix | 7 | 6 | 0 | 1 | |
** infix | 7 | 6 | 0 | 1 | |
+ infix | 7 | 6 | 0 | 1 | |
+& infix | 7 | 6 | 0 | 1 | |
+< infix | 7 | 6 | 0 | 1 | |
+> infix | 7 | 6 | 0 | 1 | |
+^ infix | 7 | 6 | 0 | 1 | |
+| infix | 7 | 6 | 0 | 1 | |
- infix | 7 | 6 | 0 | 1 | |
. infix | 7 | 0 | 7 | ||
.. infix | 7 | 7 | 0 | ||
..^ infix | 7 | 7 | 0 | ||
/ infix | 7 | 5 | 0 | 2 | |
// infix | 7 | 7 | 0 | ||
: infix | 7 | 0 | 7 | ||
< infix | 7 | 6 | 0 | 1 | |
<= infix | 7 | 6 | 0 | 1 | |
<=> infix | 7 | 6 | 0 | 1 | |
=:= infix | 7 | 7 | 0 | ||
== infix | 7 | 6 | 0 | 1 | |
=== infix | 7 | 7 | 0 | ||
==> infix | 7 | 0 | 7 | ||
=> infix | 7 | 7 | 0 | ||
=~= infix | 7 | 6 | 0 | 1 | |
> infix | 7 | 6 | 0 | 1 | |
>= infix | 7 | 6 | 0 | 1 | |
?& infix | 7 | 7 | 0 | ||
?^ infix | 7 | 7 | 0 | ||
?| infix | 7 | 7 | 0 | ||
X infix | 7 | 7 | 0 | ||
Z infix | 7 | 7 | 0 | ||
^ infix | 7 | 7 | 0 | ||
^.. infix | 7 | 7 | 0 | ||
^..^ infix | 7 | 7 | 0 | ||
^^ infix | 7 | 7 | 0 | ||
^ff infix | 7 | 7 | 0 | ||
^ff^ infix | 7 | 7 | 0 | ||
^fff infix | 7 | 7 | 0 | ||
^fff^ infix | 7 | 7 | 0 | ||
after infix | 7 | 7 | 0 | ||
and infix | 7 | 7 | 0 | ||
before infix | 7 | 7 | 0 | ||
cmp infix | 7 | 7 | 0 | ||
div infix | 7 | 5 | 0 | 2 | |
eq infix | 7 | 7 | 0 | ||
eqv infix | 7 | 7 | 0 | ||
ff infix | 7 | 7 | 0 | ||
ff^ infix | 7 | 7 | 0 | ||
fff infix | 7 | 7 | 0 | ||
fff^ infix | 7 | 7 | 0 | ||
gcd infix | 7 | 6 | 0 | 1 | |
ge infix | 7 | 7 | 0 | ||
gt infix | 7 | 7 | 0 | ||
lcm infix | 7 | 6 | 0 | 1 | |
le infix | 7 | 7 | 0 | ||
leg infix | 7 | 7 | 0 | ||
lt infix | 7 | 7 | 0 | ||
max infix | 7 | 7 | 0 | ||
minmax infix | 7 | 7 | 0 | ||
ne infix | 7 | 7 | 0 | ||
notandthen infix | 7 | 7 | 0 | ||
o infix | 7 | 0 | 7 | ||
or infix | 7 | 7 | 0 | ||
orelse infix | 7 | 7 | 0 | ||
x infix | 7 | 6 | 0 | 1 | |
xor infix | 7 | 7 | 0 | ||
xx infix | 7 | 6 | 0 | 1 | |
| infix | 7 | 7 | 0 | ||
|| infix | 7 | 7 | 0 | ||
~ infix | 7 | 7 | 0 | ||
~& infix | 7 | 7 | 0 | ||
~^ infix | 7 | 7 | 0 | ||
~| infix | 7 | 7 | 0 | ||
~~ infix | 7 | 7 | 0 | ||
∈ infix | 7 | 7 | 0 | ||
∉ infix | 7 | 7 | 0 | ||
∋ infix | 7 | 7 | 0 | ||
∌ infix | 7 | 7 | 0 | ||
∖ infix | 7 | 7 | 0 | ||
∘ infix | 7 | 0 | 7 | ||
∩ infix | 7 | 7 | 0 | ||
≅ infix | 7 | 6 | 0 | 1 | |
≤ infix | 7 | 6 | 0 | 1 | |
≥ infix | 7 | 6 | 0 | 1 | |
⊂ infix | 7 | 7 | 0 | ||
⊃ infix | 7 | 7 | 0 | ||
⊆ infix | 7 | 7 | 0 | ||
⊇ infix | 7 | 7 | 0 | ||
⊍ infix | 7 | 7 | 0 | ||
! prefix | 6 | 6 | 0 | ||
+^ prefix | 6 | 5 | 0 | 1 | |
? prefix | 6 | 6 | 0 | ||
?^ prefix | 6 | 6 | 0 | ||
not prefix | 6 | 6 | 0 | ||
so prefix | 6 | 6 | 0 | ||
| prefix | 6 | 6 | 0 | ||
~ prefix | 6 | 6 | 0 | ||
~^ prefix | 6 | 0 | 6 |