Not wising to disagree with PM, but "|docs/feather/syn_index.html" states on line 1:| "The Synopsis documents are to be taken as the formal specification for Perl 6 implementations"

I have seen elsewhere, can't remember where, that the parser written by Larry is also considered a part of the specification. Is this correct?

From Synopsis 1:
"Perl 6 is anything that passes the official test suite"
"hacking on any implementation of Perl 6 to make it conform to the test suite" "... hacking on the test suite to make it reflect consensus of specification"
"parts of the spec are already effectively frozen"
"...specced features ... not ... proven in an implementation ... considered ... conjectural"

May I suggest we add the following language to Synopsis 1 to capture all these statements?

Perl6 language development is a gradual change of specification, test suite and implementation until the specification is proven by implementations, which all pass the test suite, for some sense of 'proven' and some set of 'implementations'.

A "version" of Perl6 is "described" by the combination of a "specification suite" and a "test suite". The "specification suite" consists of the Synopses and the parser written in Perl6
A "full" implementation generates code that passes the entire test suite.

A version of Perl6 is declared to be ready when there is at least one full implementation exists that generates code considered to be sufficiently fast and memory efficient.

On 09/29/2013 09:13 PM, Patrick R. Michaud wrote:
On Sun, Sep 29, 2013 at 01:28:48PM +0800, Richard Hainsworth wrote:
However, the Synopses are now primary specification and the
Apocalypses have only historical significance. Also there are more
Synopses than Apocalypses.
One correction:  The test suite ("roast") is the primary specification
(see Synopsis 1).

To me, the Synopses are the English description of our understanding
of the specification / language, as well as a roadmap for growth in the


Reply via email to