[LWN Logo]

 Main page
 On the Desktop
 Linux in the news
 Linux History
All in one big page

See also: last week's Development page.

Development projects

News and Editorials

Larry Wall on the design of Perl 6

Larry Wall has posted a column entitled Apocalypse 1: The Ugly, the Bad, and the Good describing where the Perl 6 language definition process stands: "What I will be revealing in these columns will be the design of Perl 6. Or more accurately, the beginnings of that design, since the design process will certainly continue after I've had my initial say in the matter. I'm not omniscient, rumors to the contrary notwithstanding. This job of playing God is a little too big for me. Nevertheless, someone has to do it, so I'll try my best to fake it. And I'll expect all of you to help me out with the process of creating history. We all have to do our bit with free will."

The Perl 6 design process became stalled for a while due to the complexity of the task: "I couldn't get enough of the problem into my head at once to make good progress, and I'm not actually very good at subdividing problems. My forte is synthesis, not analysis."

After pondering the difficulty of organizing RFCs, Larry came up with the following strategy: "it occurred to me (finally!) that the proper order to think about things was, more or less, the order of the chapters in the Camel Book."

And that naturally lead to: "I intend to produce one Apocalypse for each Chapter, so Apocalypse 1 corresponds to Chapter 1: An Overview of Perl." The RFCs were organized along the lines of the Camel Book chapters and were rated with Problem, Solution, and Acceptance levels. The following RFCs were selected for coverage in Apocalypse 1:

  • RFC 141: This Is The Last Major Revision
  • RFC 28: Perl should stay Perl
  • RFC 16: Keep default Perl free of constraints such as warnings and strict
  • RFC 73: All Perl core functions should return objects
  • RFC 26: Named operators versus functions

Larry's comments about RFC 141 cause a bit of concern: "First, Perl will support multiple syntaxes that map onto a single semantic model. Second, that single semantic model will in turn map to multiple platforms.
Multiple syntaxes sound like an evil thing, but they're really necessary for the evolution of the language. To some extent we already have a multi-syntax model in Perl 5; every time you use a pragma or module, you are warping the language you're using. As long as it's clear from the declarations at the top of the module which version of the language you're using, this causes little problem.

This idea certainly violates the Simpler is Better principle. Perl is already well known for trying to be everything to everyone. That is, no doubt, a factor that has made the language popular, but we wonder if the idea is being carried too far. Time will tell whether this proves to be a good idea or an addition that will forever more confuse Perl programmers.

Another point of view on the Perl 6 design process comes from Perl developer Damian Conway, who talks about his contributions to Perl 5+i: "One thing that is becoming apparent, though, is that Larry is targeting Perl 6 as a meta-language, as well as a programming language in its own right. It seems likely that a large number of other languages will be built in-, with-, and over- Perl 6".

We sincerely hope that the Perl 6 design process will stay on course and guide the ship of Perl through the rocky channels ahead. A well designed Perl 6 could provide the many Perl programmers with smooth sailing for years to come.


LDP Weekly News, April 4, 2001. The latest updates for the LDP have been posted, including updates for the NetMeeting, Plug-n-Play, Modem, DSL and DocBook HOWTO's, plus a new document describing the SGML document type definition linuxdoc.


SEUL/Edu report for April 2, 2001. The April 2, 2001 edition of the SEUL/Edu report is out. Topics include Open Source software in UK education, the IT4Schools project, and 8 new educational programs released since the last report. One interesting new programs is Papyrus, a Java based multi-platform library management software tool.

Embedded Systems

The State of Embedded Linux (LinuxDevices.com). Rick Lehrbaum has published the slides from his talk on The state of Embedded Linux from last week's CLIQ conference.


Streaming Media With Linux Resources Page (O'Reilly). The O'Reilly Linux DevCenter has published a new Resource Page that contains numerous links to Linux streaming media tools and sites.

Network Management

OpenNMS Update, Vol 2., Issue 14, April 3, 2001. This week's update for the OpenNMS project includes notes on preparing for the 0.7.2 release, SCM changes and more detailed information on the changes to the event subsystem planned for 0.7.2.


Why FreePM? (Linux Med News). Linux Med News looks at FreePM, an open source medical Practice Management application. [FreePM] "A key reason for using opensource is the security of knowing that there will never come a time when your business is forced to change or upgrade applications because of market forces outside of your control. As long as you have the complete source code, are permitted by license to modify it and it is written in a reasonably popular programming language you will be able to maintain it."

Web-site Development

Zope Weekly News. The increasingly misnamed Zope Weekly News has come out with a new issue. Amusingly, it's dated December 6, but, since it covers things like the Zope 2.3.1 release, we're not buying that.

Zope 2.3.1 released. Zope 2.3.1 is out; see the announcement for details. Among other things, it includes some security fixes, an IA-64 binary distribution, and a number of catalog changes.

Improving mod_perl Driven Site's Performance (ApacheToday). Stas Bekman discusses mod_perl optimizations, in part 6 of a series on ApacheToday. "It's desirable to avoid forking under mod_perl. Since when you do, you are forking the entire Apache server, lock, stock and barrel. Not only is your Perl code and Perl interpreter being duplicated, but so is mod_ssl, mod_rewrite, mod_log, mod_proxy, mod_speling (it's not a typo!) or whatever modules you have used in your server, all the core routines, etc."

Window Systems

GTK, GLib 1.3.3 released. GTK 1.3.3 and GLib 1.3.3 have been released. Both versions are considered developers releases intended for programmers working on porting to the upcoming 2.0 libraries. The release of these two versions of the popular GTK+ set of libraries is intended as a tentative API-freeze release, meaning major API changes (aside from those listed as open 2.0 bugs) are unlikely to occur before GTK+-2.0 is released.

ICS adds themes to Motif. According to this press release, ICS has started a project to add theme support to Motif, including planned support for existing GNOME and KDE themes.

Gnocl version 0.0.1 released. The first release of gnocl, a Tcl extension which implements gtk and gnome widgets, has been announced. Gnocl is released with a BSD license.

Section Editor: Forrest Cook

April 5, 2001

Application Links
High Availability

Open Source Code Collections
Le Serveur Libre



Programming Languages


Caml Weekly News for March 30, 2001. The March 30, 2001 edition of the Caml Weekly News is available. News this week centers on the first release of CDK, the Camel Development Kit.


IRC bot dreams (IBM developerWorks). David Seager shows how to write a Java based IRC bot in an IBM developerWorks article. "On a basic level, a bot is just a program that simulates an IRC client. It listens for messages and chat it recognises, and it performs useful functions and sends messages to users. The bot I've detailed in this article can respond to private messages from IRC users and can be easily extended to handle different commands, as well as perform other tasks."


New CMU Common Lisp Documentation. A new release of the EncyCMUCLopedia collection of Common Lisp documents has been made available.


Perl 5 Porters for April 1, 2001. The April 1 edition of Perl 5 Porters is out. Topics this week include Perl and HTML::Parser, Autoloading Errno, Math::Big*, pack, unpack, and Taint testing.


This week's Python-URL. Here is Dr. Dobb's Python-URL for April 2, 2001, covering Guido's April Fool joke, the Parrot language, and some serious stuff too.

Python-Dev summary for March 28. Here is the Python-Dev summary for March 28. Topics discussed include the 2.0.1 release, generator implementation, and portable filesystem information modules.

Extreme Python (O'Reilly). Stephen Figgins writes about the use of Extreme Programming techniques in developing Python code. "Extreme Programming (or XP) is a set of 12 programming practices for rapid application development for small development teams. The rapid nature of the development has a natural appeal to Python programmers."

Shell Scripts

Common threads: Awk by example, Part 3 (IBM developerWorks). Daniel Robbins digs into the mysteries of AWK in the third article on IBM's developerWorks. For the full story, check out Part 1 and Part 2 in the series.


This week's Tcl-URL. Dr. Dobb's Tcl-URL for April 2 is out, with the usual collection of news from the Tcl/Tk development community.


PHP Weekly News for April 2, 2001. The April 2, 2001 edition of the PHP Weekly News is out. Topics include the XML-RPC extension, problems with Midgard, a PHP-GTK user Web site, and more.


Spinning your XML for screens of all sizes (IBM developerWorks). Alan Booth and Kathryn Heninger Briton discuss the use of HTML as an intermediate language for displaying XML on a variety of screen sizes.

Section Editor: Forrest Cook

Language Links
Caml Hump
g95 Fortran
Gnu Compiler Collection (GCC)
Gnu Compiler for the Java Language (GCJ)
IBM Java Zone
Free the X3J Thirteen (Lisp)
Use Perl
O'Reilly's perl.com
Dr. Dobbs' Perl
PHP Weekly Summary
Daily Python-URL
Python Eggs
Ruby Garden
MIT Scheme
Why Smalltalk
Tcl Developer Xchange
O'Reilly's XML.com
Regular Expressions

Next: Commerce

Eklektix, Inc. Linux powered! Copyright © 2001 Eklektix, Inc., all rights reserved
Linux ® is a registered trademark of Linus Torvalds