Permalink
Browse files

Move synopses to their new home.

git-svn-id: http://svn.pugscode.org/pugs@24058 c213334d-75ef-0310-aa23-eaa082d1ae64
  • Loading branch information...
1 parent b876595 commit 68d062fcaaa4e6e6a032e30775e3d7782e95eb28 pmichaud committed Nov 26, 2008
Showing with 20,615 additions and 0 deletions.
  1. +165 −0 S01.pod
  2. +3,549 −0 S02.pod
  3. +4,345 −0 S03.pod
  4. +1,334 −0 S04.pod
  5. +3,980 −0 S05.pod
  6. +2,857 −0 S06.pod
  7. +1,273 −0 S09.pod
  8. +152 −0 S10.pod
  9. +580 −0 S11.pod
  10. +2,091 −0 S12.pod
  11. +236 −0 S13.pod
  12. +30 −0 S17.pod
  13. +23 −0 S29.pod
View
@@ -0,0 +1,165 @@
+=encoding utf8
+
+=head1 TITLE
+
+Synopsis 1: Overview
+
+=head1 AUTHOR
+
+Larry Wall <larry@wall.org>
+
+=head1 VERSION
+
+ Maintainer: Larry Wall <larry@wall.org>
+ Date: 10 Aug 2004
+ Last Modified: 30 Jan 2007
+ Number: 1
+ Version: 6
+
+This document originally summarized Apocalypse 1, which covers the
+initial design concept. That original summary may be found below
+under "Random Thoughts". However, these Synopses also contain
+updates to reflect the evolving design of Perl 6 over time, unlike
+the Apocalypses, which are frozen in time as "historical documents".
+These updates are not marked--if a Synopsis disagrees with its
+Apocalypse, assume the Synopsis is correct.
+
+Another assumption has been that if we don't talk about something in these
+Synopses, it's the same as it is in Perl 5. Soon we plan to fill in
+the gaps with the Perl 5 details though.
+
+=head1 Project Plan
+
+Mostly, we're just a bunch of ants all cooperating (sort of) to haul
+food toward the nest (on average). There are many groups of people
+working on various bits and pieces as they see fit, since this is
+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.
+
+Another aspect of this is the Perl 6 compiler will be self-hosting.
+That is, the compiler will eventually compile itself, at least down
+to the point where various code-generating backends can take over.
+This largely removes platform dependencies from the frontend, so that
+only the backends need to worry about platform-specific issues.
+
+But above all, our project plan is simply to help people find a
+spot where they can feel like they're creating the future, both for
+themselves and for others. Around here, that's what we call fun.
+
+=head1 Random Thoughts
+
+=over 4
+
+=item *
+
+The word "apocalypse" historically meant merely "a revealing",
+and we're using it in that unexciting sense.
+
+=item *
+
+If you ask for RFCs from the general public, you get a lot of
+interesting but contradictory ideas, because people tend to stake
+out polar positions, and none of the ideas can build on each other.
+
+=item *
+
+Larry's First Law of Language Redesign: Everyone wants the colon.
+
+=item *
+
+RFCs are rated on "PSA": whether they point out a real Problem,
+whether they present a viable Solution, and whether that solution is
+likely to be Accepted as part of Perl 6.
+
+=item *
+
+Languages should be redesigned in roughly the same order as you would
+present the language to a new user.
+
+=item *
+
+Perl 6 should be malleable enough that it can evolve into the imaginary
+perfect language, Perl 7. This darwinian imperative implies support
+for multiple syntaxes above and multiple platforms below.
+
+=item *
+
+Many details may change, but the essence of Perl will remain unchanged.
+Perl will continue to be a multiparadigmatic, context-sensitive
+language. We are not turning Perl into any other existing language.
+
+=item *
+
+Migration is important. The perl interpreter will assume that it
+is being fed Perl 5 code unless the code starts with a "class" or
+"module" keyword, or you specifically tell it you're running Perl 6
+code in some other way, such as by:
+
+ #!/usr/bin/perl6
+ use v6.0;
+ v6;
+
+=item *
+
+Migration in the other direction is also important. In Perl 6
+mode, one can drop back to Perl 5 mode with C<use v5> at the
+beginning of a lexical block. Such blocks may be nested:
+
+ use v6;
+ # ...some Perl 6 code...
+ {
+ use v5;
+ # ...some Perl 5 code...
+ {
+ use v6;
+ # ...more Perl 6 code...
+ }
+ }
+
+=item *
+
+Scaling is one of those areas where Perl needs to be multiparadigmatic
+and context sensitive. Perl 5 code is not strict by default, while
+Perl 6 code is. But it should be easy to relax with C<-e> or
+a bare version number:
+
+ perl -e '$x = 1'
+
+ #!/usr/bin/perl
+ v6; $x = 1;
+
+=item *
+
+It must be possible to write policy metamodules that invoke other
+modules on the user's behalf.
+
+=item *
+
+If you want to treat everything as objects in Perl 6, Perl will help
+you do that. If you don't want to treat everything as objects, Perl
+will help you with that viewpoint as well.
+
+=item *
+
+Operators are just functions with funny names and syntax.
+
+=item *
+
+Language designers are still necessary to synthesize unrelated ideas
+into a coherent whole.
+
+=back
+
+=for vim:set expandtab sw=4:
Oops, something went wrong.

0 comments on commit 68d062f

Please sign in to comment.