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:

Reply via email to