So, I was thinking about how $Larry's original plan for doing the
Perl6 design was something along the lines of "write a series of
Apocalypses, one for each chapter of the Camel book". I know that
the latest version of the Apocalypses are in SVN, but I checked
dev.perl.org just to see what the current list was. I see the
following:
* Apocalypse 1 - "The Ugly, the Bad, and the Good"
* Apocalypse 2 - "Bits and Pieces"
* Apocalypse 3 - "Operators"
* Apocalypse 4 - "Syntax"
* Apocalypse 5 - "Pattern Matching"
* Apocalypse 6 - "Subroutines"
* Apocalypse 7 - "Formats" (see Exegesis 7)
* Apocalypse 12 - "Objects"
Hmm, interesting; that actually sounds like a pretty complete
design. So, I pulled down my Camel v3 and started checking to see
what was left to do. I was surprised how few of the remaining
chapters pertain directly to broad issues of language design; most of
them are things like "The Command Line Interface", "The Debugger",
etc...important, but not fundamentally critical to the language
design. Many of the others are things like "Packages"--they probably
won't change much, and the differences have already been hammered
out, just not consolidated into an Apocalyptic form. Other chapters--
such as Chapter 33, "Diagnostic Messages"--will be better served by
being left unwritten until the implementation is released.
All in all, I think that might just be the end of the tunnel up
ahead. Go us for getting here, and loud applause to @Larry for
guiding us so well!
--Dks
Here are the chapters which haven't been covered yet:
The Gory Details
* 8. References
* 9. Data Structures
* 10. Packages
* 11. Modules
* 13. Overloading
* 14. Tied Variables
Perl as Technology
* 15. Unicode
* 16. Interprocess Communication
* 17. Threads
* 18. Compiling
* 19. The CLI
* 20. The Perl Debugger
* 21. Internals and Externals
Perl as Culture
* 22. CPAN
* 23. Security
* 24. Common Practices
* 25. Portable Perl
* 26. Plain Old Documentation
* 27. Perl Culture
Reference Material
* 28. Special Names
* 29. Functions
* 30. The Standard Perl Library
* 31. Pragmatic Modules
* 32. Standard Modules
* 33. Diagnostic Messages