On Thu, Feb 26, 2004 at 12:31:04PM -0500, Aaron Sherman wrote:
: I cringe at what I'm about to ask because I know it's pushy, but thus is
: the burden of my impatience and hubris...
: 
: There was a document:
: 
:         TITLE
:                 Apocalypse 1: The Ugly, the Bad, and the Good
:         AUTHOR
:                 Larry Wall <[EMAIL PROTECTED]>
:         VERSION
:                 Maintainer: Allison Randal <[EMAIL PROTECTED]>
:                 Date: 2 Apr 2001
: 
: And in it Apocalypse #26 was mentioned. Above, Larry mentions #11. At
: first the rate of 1 apolcalypse per month seemed to support the idea
: that Perl 6 would be defined within the next couple of years. However,
: trending shows that this function was actually logarithmic, and spacing
: has increased from month to quarter to half-year to year....

Well, some of that relates to the fact that last year I basically
had to take half a year off to participate in various non-optional
gastric revisions.

Which of course may only prove your point.  I wonder if I'll have to
take the whole year off this year...  Next year I might have to take
two years off...

: At the current rate, the aforementioned apoc #11 will be out sometime
: after I die, a frustrated old man who remembers the glory days of Perl
: 3.

Well now, I remember Perl 0, sonny.  They don't make 'em like they used to...

: There are many ways that we could deal with this, and I think all of
: them are up to Larry:
: 
: 1. Larry gets help in writing these (various degrees of delegation).

Er, I've been getting lots of help.  That's part of what slows things
down, but it also makes them righter...eventually...after I filter all
the input down to something coherent.  It's the coherence that I can't
delegate, and if I tried to, we would certainly end up with Second
System Syndrome Done Wrong, instead of Done Right.

As they say, you can't have all of Good, Fast, Cheap.  I'm concentrating
on the Good part.  So it's not going to be Fast.  As for Cheap, well...
I have to take time off today to apply for college scholarships next
year, or we can't afford to send Aron to college.  If someone wants to
donate college tuition I can be faster by a day or so.  But that ain't
Cheap...

: 2. Perl 6 now (apoc 1-6), Perl 7 when the apocs are done.

Perl 6 now is pretty much A1-6 plus 12.  That's actually most of the
earth-shaking stuff.  The later apocalypses have bike-shed tendencies.
Plus we've actually decided a lot of what's in those chapters already.

: 3. Perl 5.aleph-1: Perl 5 code-base, Perl 6ish feature-set.

How "ish" is "ish"?  The main problem with that approach (other than
that it takes talent away from the Parrot effort) is that migration
becomes a bitch when you break things every subrelease.  I'm all in
favor of the evolutionary approach when it works, but I think if
we're breaking things on purpose, we have to do it all at once.

: 4. Don't worry, be happy (aka back in your hole, Hobbit! ;-)

That too.  :-)

: So Larry, it's up to you. Is there some way to accelerate Perl 6? Can we
: help?

Actually, for the moment I think Parrot is on the critical path more
than I am.

: Before people say that #3 already exists, I'm not talking about adding
: sugar to Perl 5, I'm talking about a major overhaul that really gives us
: a stop-gap while we wait for Perl 6.

It would take as long as Parrot to do P6ish completely.  Longer, in fact,
because you'd be fighting the general creakiness of the P5 codebase.

: I hope that everyone understands that I'm saying this because I want to
: help. I backed off of Perl 6 a while back, but as Perl 5 begins to feel
: more and more like a holding pattern for Perl 6, I find myself needing
: the next step to be taken for work reasons and wanting it for personal
: reasons.

I'd love to be done with it too.  Here's the chapter-by-chapter list
of RFCs so you can see the kind of stuff in the later chapters.  I'll
comment briefly on the undone chapters.

ch01/016.bdb    Keep default Perl free of constraints such as warnings and strict.
ch01/026.ccb    Named operators versus functions
ch01/028.acb    Perl should stay Perl.
ch01/073.adb    All Perl core functions should return objects
ch01/141.abc    This Is The Last Major Revision

ch02/005.cdr    Multiline Comments for Perl.
ch02/009.bf     Highlander Variable Types
ch02/010.rr     Filehandles should use C<*> as a type prefix if typeglobs are 
eliminated.
ch02/034.aaa    Angle brackets should not be used for file globbing
ch02/038.bdb    Standardise Handling Of Abnormal Numbers Like Infinities And NaNs
ch02/043.bcb    Integrate BigInts (and BigRats) Support Tightly With The Basic Scalars
ch02/051.ccr    Angle brackets should accept filenames and lists
ch02/071.aaa    Legacy Perl $pkg'var should die
ch02/102.dcr    Inline Comments for Perl.
ch02/103.rr     Fix C<$pkg::$var> precedence issues with parsing of C<::>
ch02/105.aaa    Remove "In string @ must be \@" fatal error
ch02/109.rr     Less line noise - let's get rid of @%
ch02/111.aaa    Here Docs Terminators (Was Whitespace and Here Docs)
ch02/133.bcr    Alternate Syntax for variable names
ch02/134.bcc    Alternative array and hash slicing
ch02/139.cfr    Allow Calling Any Function With A Syntax Like s///
ch02/161.adb    Everything in Perl becomes an object.
ch02/162.abb    Heredoc contents
ch02/175.rr     Add C<list> keyword to force list context (like C<scalar>)
ch02/192.ddr    Undef values ne value
ch02/196.bcb    More direct syntax for hashes
ch02/201.bcr    hash slicing
ch02/212.rr     Make length(@array) work
ch02/218.bcc    C<my Dog $spot> is just an assertion
ch02/222.abb    Interpolation of object method calls
ch02/226.acc    Selective interpolation in single quotish context.
ch02/237.adc    hashes should interpolate in double-quoted strings
ch02/245.rr     Add new C<empty> keyword to DWIM for clearing values
ch02/251.acr    Interpolation of class method calls
ch02/252.abb    Interpolation of subroutines
ch02/263.rr     Add null() keyword and fundamental data type
ch02/327.dbr    C<\v> for Vertical Tab
ch02/328.bcr    Single quotes don't interpolate \' and \\

ch03/024.rr     Data types: Semi-finite (lazy) lists
ch03/025.dba    Operators: Multiway comparisons
ch03/039.rr     Perl should have a print operator 
ch03/045.bbb    C<||> and C<&&> should propagate result context to both sides
ch03/054.cdr    Operators: Polymorphic comparisons
ch03/081.abb    Lazily evaluated list generation functions
ch03/082.abb    Arrays: Apply operators element-wise in a list context
ch03/084.abb    Replace => (stringifying comma) with => (pair constructor)
ch03/104.ccr    Backtracking
ch03/138.rr     Eliminate =~ operator.
ch03/143.dcr    Case ignoring eq and cmp operators
ch03/170.ccr    Generalize =~ to a special "apply-to" assignment operator
ch03/283.ccc    C<tr///> in array context should return a histogram
ch03/285.acb    Lazy Input / Context-sensitive Input
ch03/290.bbc    Better english names for -X
ch03/320.ccc    Allow grouping of -X file tests and add C<filetest> builtin

ch04/006.acc    Lexical variables made default
ch04/019.baa    Rename the C<local> operator
ch04/022.abc    Control flow: Builtin switch statement
ch04/063.rr     Exception handling syntax
ch04/064.bdc    New pragma 'scope' to change Perl's default scoping
ch04/083.aab    Make constants look like variables
ch04/088.bbc    Omnibus Structured Exception/Error Handling Mechanism
ch04/089.cdr    Controllable Data Typing
ch04/106.dbr    Yet another lexical variable proposal: lexical variables made default
ch04/113.rr     Better constants and constant folding
ch04/119.bcr    Object neutral error handling via exceptions
ch04/120.bcr    Implicit counter in for statements, possibly $#.
ch04/167.bcr    Simplify C<do BLOCK> Syntax
ch04/173.bcc    Allow multiple loop variables in foreach statements
ch04/199.abb    Short-circuiting built-in functions and user-defined subroutines
ch04/209.cdr    Fuller integer support in Perl.
ch04/262.cdr    Index Attribute
ch04/279.cdr    my() syntax extensions and attribute declarations
ch04/297.dcr    Attributes for compiler hints
ch04/309.adr    Allow keywords in sub prototypes
ch04/330.acc    Global dynamic variables should remain the default
ch04/337.bcc    Common attribute system to allow user-defined, extensible attributes
ch04/340.dcr    with takes a context
ch04/342.bcr    Pascal-like "with"

ch05/072.aaa    Variable-length lookbehind. 
ch05/093.abb    Regex: Support for incremental pattern matching
ch05/110.bbb    counting matches
ch05/112.acc    Assignment within a regex
ch05/135.acr    Require explicit m on matches, even with ?? and // as delimiters.
ch05/144.aaa    Behavior of empty regex should be simple
ch05/145.acr    Brace-matching for Perl Regular Expressions
ch05/150.acc    Extend regex syntax to provide for return of a hash of matched 
subpatterns
ch05/156.aaa    Replace first match function (C<?...?>) with a flag to the match 
command.
ch05/164.ccr    Replace =~, !~, m//, s///, and tr// with match(), subst(), and trade()
ch05/165.acc    Allow Varibles in tr///
ch05/166.abc    Alternative lists and quoting of things
ch05/191.bdr    smart container slicing
ch05/197.cdr    Numeric Value Ranges In Regular Expressions
ch05/198.adr    Boolean Regexes
ch05/261.dbr    Pattern matching on perl values
ch05/274.acc    Generalised Additions to Regexs
ch05/276.aaa    Localising Paren Counts in qr()s.
ch05/308.dar    Ban Perl hooks into regexes
ch05/316.bcr    Regex modifier for support of chunk processing and prefix matching
ch05/317.aaa    Access to optimisation information for regular expressions
ch05/331.acc    Consolidate the $1 and C<\1> notations
ch05/332.abc    Regex: Make /$/ equivalent to /\z/ under the '/s' modifier
ch05/348.bcc    Regex assertions in plain Perl code
ch05/360.acb    Allow multiply matched groups in regexes to return a listref of all 
matches
ch05/361.abb    Simplifying split()

ch06/021.abc    Subroutines: Replace C<wantarray> with a generic C<want> function
ch06/023.bcc    Higher order functions
ch06/057.abb    Subroutine prototypes and parameters
ch06/059.bcr    Proposal to utilize C<*> as the prefix to magic subroutines
ch06/075.dcr    structures and interface definitions
ch06/107.adr    lvalue subs should receive the rvalue as an argument
ch06/118.rr     lvalue subs: parameters, explicit assignment, and wantarray() changes
ch06/128.acc    Subroutines: Extend subroutine contexts to include name parameters and 
lazy arguments
ch06/132.acr    Subroutines should be able to return an lvalue
ch06/149.adr    Lvalue subroutines: implicit and explicit assignment
ch06/154.bdr    Simple assignment lvalue subs should be on by default
ch06/160.acc    Function-call named parameters (with compiler optimizations)
ch06/168.abb    Built-in functions should be functions
ch06/176.bbb    subroutine / generic entity documentation
ch06/194.acc    Standardise Function Pre- and Post-Handling
ch06/271.abc    Subroutines : Pre- and post- handlers for subroutines
ch06/298.cbc    Make subroutines' prototypes accessible from Perl
ch06/334.abb    Perl should allow specially attributed subs to be called as C functions
ch06/344.acr    Elements of @_ should be read-only by default

ch07/181.rr     Formats out of core / New format syntax
ch07/230        Replace C<format> built-in with C<format> function

    E7 is coming out within a week or so.

ch08/177        A Natural Syntax Extension For Chained References
ch08/241        Pseudo-hashes must die! 
ch08/242.aaa    No overloading of f($arg) basing on ref($arg)

    Not much here.  And we already decided pseudohashes must die.

ch09/116        Efficient numerics with perl
ch09/117.rr     Perl syntax support for ranges
ch09/122        types and structures
ch09/123        Builtin: lazy
ch09/124        Sort order for any hash
ch09/136        Implementation of hash iterators
ch09/142        Enhanced Pack/Unpack
ch09/169.rr     Proposed syntax for matrix element access and slicing.
ch09/202        Arrays: Overview of multidimensional array RFCs (RFC 203 through RFC 
207)
ch09/203        Arrays: Notation for declaring and creating arrays
ch09/204        Arrays: Use list reference for multidimensional array access
ch09/205        Arrays: New operator ';' for creating array slices
ch09/206        Arrays: @#arr for getting the dimensions of an array
ch09/207        Arrays: Efficient Array Loops
ch09/225        Data: Superpositions
ch09/231        Data: Multi-dimensional arrays/hashes and slices
ch09/247        pack/unpack C-like enhancements
ch09/266        Any scalar can be a hash key
ch09/268.rr     Keyed arrays
ch09/273        Internal representation of Pseudo-hashes using attributes.
ch09/282        Open-ended slices
ch09/341        unified container theory

    Nearly all this stuff is already in there.

ch10/008.cd     The AUTOLOAD subroutine should be able to decline a request
ch10/232        Replace AUTOLOAD by a more flexible mechanism
ch10/324        Extend AUTOLOAD functionality to AUTOGLOB

    We know AUTOLOAD needs some work to be able to return a ref without
    actually calling a routine.  And a "next method" mechanism is
    already in the works for A12 so that AUTOLOAD can decline to work.

ch11/062        Wildcards for multiple module imports
ch11/074        Proposal to rename C<import> and C<unimport>
ch11/078        Improved Module Versioning And Searching
ch11/233        Replace Exporter by a better scaling mechanism
ch11/253        UNIVERSAL::require()
ch11/257        UNIVERSAL::import()
ch11/289        Generate module dependencies easily
ch11/291        Detecting Perl Core Modules Should Be Easy

    Mostly decided already.  Some of it comes out in A12, such improved
    versioning and searching.

ch12/032.abb    A method of allowing foreign objects in perl
ch12/067.abb    Deep Copying, aka, cloning around.
ch12/092.abb    Extensible Meta-Object Protocol
ch12/095.acc    Object Classes
ch12/101.bcc    Apache-like Event and Dispatch Handlers
ch12/126.aaa    Ensuring Perl's object-oriented future
ch12/137.bdd    Overview: Perl OO should I<not> be fundamentally changed.
ch12/147.rr     Split Scalars and Objects/References into Two Types
ch12/152.bdd    Replace invocant in @_ with self() builtin
ch12/163.bdd    Objects: Autoaccessors for object data structures
ch12/171.rr     my Dog $spot should call a constructor implicitly
ch12/174.bdd    Improved parsing and flexibility of indirect object syntax
ch12/187.abb    Objects : Mandatory and enhanced second argument to C<bless>
ch12/188.acc    Objects : Private keys and methods
ch12/189.abb    Objects : Hierarchical calls to initializers and destructors
ch12/190.acc    Objects : NEXT pseudoclass for method redispatch
ch12/193.acc    Objects : Core support for method delegation
ch12/223.bdd    Objects: C<use invocant> pragma
ch12/224.bdd    Objects : Rationalizing C<ref>, C<attribute::reftype>, and 
C<builtin:blessed>
ch12/244.cdr    Method calls should not suffer from the action on a distance
ch12/254.abb    Class Collections: Provide the ability to overload classes
ch12/256.abb    Objects : Native support for multimethods
ch12/265.abc    Interface polymorphism considered lovely
ch12/277.bbb    Method calls SHOULD suffer from ambiguity by default
ch12/307.rr     PRAYER - what gets said when you C<bless> something
ch12/335.acc    Class Methods Introspection: what methods does this object support?
ch12/336.bbb    use strict 'objects': a new pragma for using Java-like objects in Perl

    A12 is mostly written.

ch13/020.cd     Overloadable && and ||
ch13/049        Objects should have builtin stringifying STRING method
ch13/097        prototype-based method overloading
ch13/098        context-based method overloading
ch13/108        Scope of Polymorphic References and Objects
ch13/115        Overloadable parentheses for objects
ch13/159        True Polymorphic Objects
ch13/180        Object Class hooks into C<printf>
ch13/234        Data: overloading via the SECOND operand if needed
ch13/235        Data: sprintf() with overloaded objects
ch13/258        Distinguish packed data from printable strings

    Mostly covered already, or in A12.

ch14/015.cf     Stronger typing through tie.
ch14/200        Objects: Revamp tie to support extensibility (Massive tie changes)
ch14/243        No special UPPERCASE_NAME subroutines
ch14/319        Transparently integrate C<tie>

    The main decision about tie is that you can't tie a variable
    unless it's been declared as tie-able.  Otherwise the optimizer
    is hamstrung.  Perhaps more importantly, tie has been generalized
    to container typing, which we already have decided most of.

ch15/050        BiDirectional Support in PERL
ch15/069        Standardize input record separator (for portability)
ch15/131        Internal String Storage to be Opaque
ch15/294        Internally, data is stored as UTF8
ch15/295        Normalisation and C<unicode::exact>
ch15/296        Getting Data Into Unicode Is Not Our Problem
ch15/300        C<use unicode::representation> and C<no unicode>
ch15/311        Line Disciplines
ch15/312        Unicode Combinatorix
ch15/322        Abstract Internals String Interaction

    Most of this is already done right in recent Perl 5, except the
    parts that are done wrong...

ch16/060        Safe Signals
ch16/086        IPC Mailboxes for Threads and Signals

    Parrot issues.

ch17/001.ac     Implementation of Threads in Perl
ch17/027        Coroutines for Perl
ch17/031        Subroutines: Co-routines
ch17/047        Universal Asynchronous I/O
ch17/087        Timers and Timeouts
ch17/178        Lightweight Threads
ch17/185        Thread Programming Model
ch17/293        MT-Safe Autovariables in perl 5.005 Threading
ch17/321        Common Callback API for all AIO calls.
ch17/345        Putting an Event Loop in the Core

    Parrot issues, mostly.  If the underlying mechanism is there,
    it's trivial to expose the API at the language level.  If it's not,
    well, that makes it a little harder...

ch18/004.bd     type inference
ch18/012.af     variable usage warnings
ch18/018.ad     Immediate subroutines
ch18/040        Module Scope Control
ch18/068        Eliminate the optional C<sub> for C<BEGIN> etc block declarations
ch18/070        Allow exception-based error-reporting.
ch18/172        Precompiled Perl scripts.
ch18/214        Emit warnings and errors based on unoptimized code
ch18/264        Provide a standard module to simplify the creation of source filters
ch18/314        A parser is a many-layered thing

    Much already decided, either on Perl level or Parrot level.

ch19/114        Perl resource configuration

    I don't mind if Perl has a -r switch, as long as it's not default.

ch20/184        Perl should support an interactive mode.
ch20/292        Extensions to the perl debugger

    Not a language issue.  I don't mind if other people work on this.
    (I almost never use the debugger.)

ch21/035        A proposed internal base format for perl variables
ch21/046.rr     Use features of portable, free compilers and libraries
ch21/061        Interfaces for linking C objects into perlsubs
ch21/121        linkable output mode
ch21/125        Components in the Perl Core Should Have Well-Defined APIs and Behavior
ch21/210        Data/Binary Dumping and Freezing
ch21/270        Replace XS with the C<Inline> module as the standard way to extend 
Perl.
ch21/281        The Perl 6 Development Log
ch21/301        Cache byte-compiled programs and modules
ch21/310        Ordered bytecode
ch21/315        Kick out all ops - libprt
ch21/318        Handling environment setting in extension modules
ch21/323        Perl's embedding API should be simple
ch21/326        Symbols, symbols everywhere
ch21/338        shareable bytecode
ch21/349        Perl modules should be built with a Perl make program
ch21/352        Merge Perl and C#, but have default Main class for scripting.

    Mostly Parrot issues.

ch23/130        Transaction-enabled variables for Perl6
ch23/227        Extend the window to turn on taint mode
ch23/353        A Sandboxing mechanism for Perl 6

    We have "let" for transaction-enabled variables.  Sandboxing is a rathole.

ch24/183        "=for testing" - Embedded tests

    Up to the qa folks.

ch25/036        Structured Internal Representation of Filenames
ch25/099        Standardize ALL Perl platforms on UNIX epoch
ch25/100        Embed full URI support into Perl

    Library issues, not language design issues.

ch26/011.cf     Examples encoded with =also for|begin|end POD commands
ch26/044        Bring Documentation Closer To Whatever It Documents
ch26/065        Add change bar functionality to pod
ch26/079        The Predefined POD Streams are C<perl>, C<data>, and C<doc>
ch26/216        POD should tolerate white space.
ch26/217        POD needs a reorder command.
ch26/280        Tweak POD's CE<lt>E<gt> 
ch26/286        Add a "emit pod" runtime option to Perl
ch26/306        User-definable POD handling
ch26/325        POD and comments handling in perl
ch26/357        Perl should use XML for documentation instead of POD

    POD definitely needs some tweaks, some of which we've already
    published.  What it doesn't need is to be turned into TeX or XML.

ch27/013.aa     The Copyright and Licensing Working Group
ch27/182        JART - Just Another Regression Test
ch27/211        The Artistic License Must Be Changed
ch27/219.rr     Perl6's License Should Be a Minor Bugfix of Perl5's License
ch27/240        Form a documentation working group to edit, clean, and produce
ch27/343        New Perl Mascot
ch27/346        Perl6's License Should be (GPL|Artistic-2.0)
ch27/354        A Trademark on Perl Should be Acquired in Larry Wall's Name

    Licensing has to be decided soon--probably we'll go with
    (GPL|Artistic-2.0), more or less.  We're not changing the Perl
    Mascot-I own too many stuffed camels for that.  Trademarks are a
    royal pain.  Do you really always want to say "the Perl programming
    language" everywhere you now say "Perl"?  Otherwise we lose
    trademark status.

    Oh, sorry, make that "the PerlŪ programming language".

ch28/017.bd     Organization and Rationalization of Perl State Variables
ch28/030        STDIN, STDOUT, STDERR, ARGV, and DATA should become scalars
ch28/033        Eliminate bareword filehandles.
ch28/094.rr     Rename @ARGV to @ARGS   
ch28/129        Replace default filehandle/select with $DEFOUT, $DEFERR, $DEFIN
ch28/151        Merge C<$!>, C<$^E>, C<$@> and C<$?>
ch28/158        Regular Expression Special Variables
ch28/236        Change the way $SIG{__WARN__} and $SIG{__DIE__} are used
ch28/284        Change C<$SIG{__WARN__}> and C<$SIG{__DIE__}> to magic subs
ch28/299        C<@STACK> - a modifyable C<caller()>
ch28/305        C<$^C> should be true when compiling 
ch28/347        Remove long-deprecated $* (aka $MULTILINE_MATCHING)
ch28/355        Leave $[ alone.

    Most all of these have been accepted already.

ch29/007.ab     Higher resolution time values
ch29/014.ab     Modify open() to support FileObjects and Extensibility
ch29/029        unlink() should be left alone
ch29/037        Positional Return Lists Considered Harmful
ch29/048        Replace localtime() and gmtime() with date() and utcdate()
ch29/052.rr     List context return from filesystem functions
ch29/053        Built-ins: Merge and generalize C<index> and C<rindex>
ch29/055        Compilation: Remove requirement for final true value in require-d and 
do-ed files
ch29/056        Optional 2nd argument to C<pop()> and C<shift()>
ch29/058        C<chomp()> changes.
ch29/076        Builtin: reduce
ch29/077        Suggested isa() operator.
ch29/090        Arrays: merge() and unmerge()
ch29/091        Arrays: part and flatten
ch29/127        Sane resolution to large function returns
ch29/146        Remove socket functions from core
ch29/148        Arrays: Add reshape() for multi-dimensional array reshaping
ch29/155        Remove mathematic and trigonomic functions from core binary
ch29/157        Delete C<dbmopen> and C<dbmclose> commands.
ch29/179        More functions from set theory to manipulate arrays
ch29/195        Retire chop().
ch29/208        crypt() default salt
ch29/213        rindex and index should return true/false values
ch29/215        More defaulting to $_
ch29/220        wait() and waitpid() should return false on failure
ch29/221        system() should return useful values
ch29/229        Variable interpolation on demand.
ch29/239        IO: Standardization of Perl IO Functions to use Indirect Objects
ch29/246        pack/unpack uncontrovercial enhancements
ch29/248        enhanced groups in pack/unpack
ch29/249        Use pack/unpack for marshalling
ch29/250        hooks in pack/unpack
ch29/255.rr     Fix iteration of nested hashes
ch29/259        Builtins : Make use of hashref context for garrulous builtins
ch29/267        Eliminate dump() function
ch29/269.rr     Perl should not abort when a required file yields a false value
ch29/272        Arrays: transpose()
ch29/339        caller->eval BLOCK
ch29/351        Beyond the amnesic eval
ch29/358        Keep dump capability.

    Doubtless a great deal of the remaining design work is here.
    But it's reasonable to assume that most of these functions work
    as in Perl 5 unless we decide otherwise.  Which, in many cases,
    we already have.  Or there's already a newer, more obvious way
    to write the function in question.

ch30/186        Standard support for opening i/o handles on scalars and 
arrays-of-scalars
ch30/228        Add memoize into the standard library
ch30/260        More modules
ch30/287        Improve Perl Persistance
ch30/288        First-Class CGI Support
ch30/333        Add C<header> and C<unheader> funtions to core distribution
ch30/350        Advanced I/O (AIO)

    Mostly oddities.

ch31/002.cf     Request For New Pragma: Implicit
ch31/041.rr     Request For New Pragma: Implicit
ch31/042        Request For New Pragma: Shell
ch31/066        Shell Style Redirection
ch31/140        One Should Not Get Away With Ignoring System Call Errors
ch31/153        New pragma 'autoload' to load functions and modules on-demand
ch31/275        New 'tristate' pragma to allow undef to take on NULL semantics
ch31/278        Additions to 'use strict' to fix syntactic ambiguities
ch31/302        Unrolling loops and tail recursion
ch31/303        Keep C<use less>, but make it work.
ch31/304        C<sort> algorithm to be selectable at compile time
ch31/329        C<use syntax>
ch31/356        Dominant Value Expressions

    Many pragma requests are bandaids on a deficient language design.
    It's usually better to fix the language in those cases, except
    where we want a certain default behavior, and use a pragma to
    select a different default behavior.  In particular, now that we
    have named arguments, a lot of these options can just be applied
    adverbially, such as forcing C<sort> to use a particular algorithm.

ch33/003.bf     messages.rfc - An RFC to discussing the wisdom of allowing run time 
error
ch33/080        Exception objects and classes for builtins
ch33/085        All perl generated errors should have a unique identifier
ch33/096.rr     A Base Class for Exception Objects
ch33/238        length(@ary) deserves a warning
ch33/313        Perl 6 should support I18N and L10N
ch33/359        Improvement needed in error messages (both internal errors and die 
function).

    I could reasonably delegate the design of exception classes.
    And I18N will certainly be an I11l effort.  I think Parrot has
    pretty much ignored the issue till now because all the Parrot
    Mongers speak English, and since everyone else retrofits I18N,
    why not us too?  :-)

I hope this all paints a rosier bike-shed, er, picture for you.

Larry

Reply via email to