Author: lwall Date: 2010-01-01 01:50:15 +0100 (Fri, 01 Jan 2010) New Revision: 29431
Modified: docs/Perl6/Spec/S01-overview.pod Log: [S01] take another lap around Mt Sinai... Modified: docs/Perl6/Spec/S01-overview.pod =================================================================== --- docs/Perl6/Spec/S01-overview.pod 2009-12-31 18:48:12 UTC (rev 29430) +++ docs/Perl6/Spec/S01-overview.pod 2010-01-01 00:50:15 UTC (rev 29431) @@ -13,8 +13,8 @@ Created: 10 Aug 2004 - Last Modified: 2 Sep 2009 - Version: 7 + Last Modified: 31 Dec 2009 + Version: 8 This document originally summarized Apocalypse 1, which covers the initial design concept. That original summary may be found below @@ -36,17 +36,17 @@ primarily a volunteer effort. This document does not attempt to summarize all these subprojects--see -the various websites for Parrot and Pugs and Perl 6 for such -information. What we can say here is that, unlike how it was with -Perl 5, none of these projects is designed to be the Official Perl. -Perl 6 is anything that passes the official test suite. This test -suite was initially developed under the Pugs project because that -project is the furthest along in exploring the high-level semantics -of Perl 6. (Other projects are better at other things, such as speed -or interoperability.) However, the Pugs project views the test suite -as community property, and is working towards platform neutrality, -so that Perl 6 is defined primarily by its desired semantics, not by -accidents of history. +L<http://perl6.org> for such information. What we can say here +is that, unlike how it was with Perl 5, none of these projects is +designed to be the Official Perl. Perl 6 is anything that passes the +official test suite. This test suite was initially developed under the +Pugs project because that project was at one point the furthest along +in exploring the high-level semantics of Perl 6. (Other projects +may be better at other things, such as speed or interoperability. +This is fine; it is not necessary that all implementations be equally +good at everything.) The official test suite is community property, +and is intended to be platform neutral, so that Perl 6 is defined +primarily by its desired semantics, not by accidents of history. Another aspect of this is the Perl 6 compiler will be self-hosting. That is, the compiler will eventually compile itself, at least down @@ -134,6 +134,13 @@ } } +Some platforms may restrict this to a subset of Perl 5 when it is +not expedient to include a full Perl 5 interpreter. The standard +Perl 6 grammar will include the ability to parse a well-behaved +subset of Perl 5 on its own (much like PPI does); implementations +are required only to support this subset, though of course they may +also choose to implement bug-for-bug compatibility. + =item * Scaling is one of those areas where Perl needs to be multiparadigmatic @@ -166,6 +173,49 @@ Language designers are still necessary to synthesize unrelated ideas into a coherent whole. +=item * + +The language designer is neither omniscient nor omnipotent, and never +will be, despite requests for those particular features. Therefore +the design process will be spiral, cooperative, and convergent. +The rate of convergence is an emergent property, and cannot be forced, +only encouraged. As long as anyone is hacking on any implementation +of Perl 6 to make it conform to the test suite, or hacking on the +test suite to make it reflect consensus of specification, the rate +of convergence will be deemed to be positive. If you are unhappy +with the current rate of convergence, please cooperate more with +someone else you think is interested in convergence. + +=item * + +The spec will not be frozen prematurely, but will continue to solidify +as various aspects of it are proven (or disproven) in various +implementations. Many parts of the spec are already effectively +frozen, or are in a slushy state. "The future is already here, +it's just unevenly distributed." + +=item * + +All specced features that have not been proven in an implementation +should be considered somewhat conjectural, even if not so marked. +As implementations start to agree on what is practical and what is not, +do not be surprised if some features that are currently specced may be +deferred to future versions; these should still be considered long-term +direction in the evolution of Perl 6 over time, and the short-term +design should be conservative in preserving that long-term evolution. +Note that we are not in a hurry to defer any sections of the spec, +even if that would give the illusion of progress. Convergence +of specs and implementations will happen naturally as we get +implementations that are closer to the spec. It is quite likely +that the first practical implementation will largely determine +which features are considered to be required in 6.0.0. + +=item * + +Everyone is allowed to panic I<once>. However, continual panic will +be deemed poisonous. Nobody gets special treatment, even if they +think special treatment is necessary for success. This means you. + =back =for vim:set expandtab sw=4: