That hasn't been true for a while. The test suite is supposed to be canonical, whereas the 'specification' hasn't been kept up to date with language evolution.
Within minutes of announcing Raku nearly 21 years ago Larry answered a question about it from the audience[1]:
> Question: Will Raku have specs ...?
> Larry: ... develop the real regression tests into a validation test ... then we actually have a machine-readable spec. And to me that’s actually a lot more important than what the verbiage on the human readable thing says.
It took years before folk caught up with Larry's intent, but the regression test suite has been called "roast" (Repository Of All Specification Tests) for something like 15 years and what you're calling "the 'specification'" was renamed to "the 'speculation'" around the same time.
FWIW, the "specification" now only has historical value, and possibly as an inspiration for implementing features that were once considered. It is nothing more than that, nor has it ever been.
The test-suite is canonical: being able to pass a significant number of tests, allows you to say you've implemented a significant portion of the Raku Programming Language.
I hear you feel disappointed, but it is presumably due to someone having misled you due to their misinterpretation of Larry's design.
Roast (the Repository Of All Specification Tests) has, for over 20 years in design terms, and 15+ years in reality, been Raku's canonical, machine readable specification that is versionable, branchable, forkable, mergeable, and which is backed by a PL design that envisages its versioning, branching, forking, and merging.
So we now have a suite of approaching 200K tests that provide a principled software engineering way to generate a single boolean True|False that a so-called Raku compiler does or does not precisely implement the machine readable specification.
Features cannot be removed or added without not only being specified in language, and if appropriate subjected to formal analysis, but also openly discussed and debated, implemented in a branch, hammered on for however long with beta testers trying it out to see if it's worth removing/adding, and only then arriving in the official master branch of roast.
This can and has meant there can be up to a 3 year period before changes become official, or, conversely, a 24 hour period for a security patch to become official, and the system guarantees that any risk of breakage is controlled by users. This is a revolutionary level of centralized/distributed digital governance.
The specification is the test suite. (Which has been kept up to date.)
A text specification like the one C has is bordering on useless. There are plenty of things that are “implementation defined”.
I think it was C that had to resort to saying that new features wouldn't be added to the specification until at least one implementation supported it, because it turned out some of the new features were impossible.
The thing that cygx was referring to were the Apocalypses, Exegesis, and Synopsys.
They were never intended to be a specification as such. They were more of a way of talking about and thinking about the intended features and how they might look. At no point did anyone try to turn them into something more resembling a text specification.
I would like to point out that they had a lot of inconsistencies. There were features in one that weren't possible without breaking features from another. Things which weren't found until there was a test-suite.
Which is precisely why we don't have a text specification like C, we have a test-suite as the specification. It certainly makes it easier to determine if an implementation follows the specification.
cygx incorrectly thinks that the Apocalypses, Synopsys, Exegesis were the specification.
There is a reason we don't try to keep them up to date [anymore].
They are historical documents that were used to discuss and understand what the language was going to look like.
That hasn't been true for a while. The test suite is supposed to be canonical, whereas the 'specification' hasn't been kept up to date with language evolution.