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
future.
Pm