Larry Wall and other active Perl porters and Perl helpers met on Tuesday afternoon at Perl Conference 4.0 and mapped out a what is planned to become a complete rewrite of Perl that will become Perl 6 in 18 to 24 months, with a prerelease targeted for next year's conference.

Perl 5 will not be abandoned, but will primarily be concerned with bugfixes both major and minor.

The meeting for members of the perl5-porters mailing list was the result of an earlier, smaller meeting of Wall, Nathan Torkington, Chip Salzenberg, and others who basically decided that Perl needed to be fixed in certain ways, and that a rewrite was the best way to do it. Salzenberg started the Topaz project two years ago, to reimplement Perl in C++. Though Topaz itself will not be the basis for Perl 6, Salzenberg noted that the lessons learned in the experience will be very helpful to the new effort.

Torkington led the three-hour meeting, starting off by saying what was wrong with Perl. Much of the focus on the problems with Perl centered around how increasingly difficult it was to improve, extend, and embed Perl. A rewrite and redesign are needed, he said, and maybe it is time for a hard change. So while the focus of the effort seems to be on improving the Perl guts and API, the project will also be used as an opportunity to clean out some of the cruft, including bad and seldom-used features.

Some of the primary (and still vague) goals of the effort will be to reimplement the core so it is better, stronger, and faster; improve syntax; add new features where appropriate; have better version and installation management for perl and its modules; and have a clear and automated migration path, which may include a backward compatibility mode. Some old features may be removed, like typeglobs. Others will be improved.

The group hopes to re-shape Perl community, too. Instead of one all-encompassing perl5-porters list, tightly focused mailing lists with a terminal lifespan will be formed. To start off, the mailing list bootstrap at will be for discussion of the beginnings of the project. Like most, if not all, other new lists, when it has fulfilled its purpose, it will be closed.

Wall said, "Perl 5 was my rewrite of perl ... I think this should be the community's rewrite of perl, and the community's rewrite of the community."

Specifics have not yet been ironed out. A group has been formed to begin the work, which will primarily consist of planning the work to be done. No coding is to be done at this stage, only planning and support. Roles were determined for the group, and then they were filled. They now include the perl 5 maintainer (Jarkko Hietaniemi and Nick Ing-Simmons), the language design pumpking (Larry Wall), the internals design pumpking (Dan Sugalski), the documentation manager (Adam Turoff), the system administrator (Ask Bjoern Hansen), the quality assurance bloke (Michael Schwern), the spokesdroid (brian d foy), the customer relations person (Dick Hardt), and the project manager himself, Nathan Torkington. Other porters, such as Chip Salzenberg, volunteered to consult when needed.

Some of the short term goals of this group are to draft a language specification, start an RFC channel, get feedback, and set up mailing lists, a documentation repository, and a web site. Hansen will be setting up the mailing lists. The bootstrap list will be open to the public, while the list for the intial small group of people will be closed for posting by anyone not on the list. All lists will be readable by the public, through the web, and perhaps through email. Turoff is going to be preparing the notes for the morning meeting, and foy will be posting the notes and the mailing list links on the web site.

  • Comment on Perl 6 To Be Complete Rewrite (But Not What You Think)

Replies are listed 'Best First'.
RE: Perl 6 To Be Complete Rewrite (Topaz, Perl, C++ ??)
by ybiC (Prior) on Jul 21, 2000 at 23:22 UTC
    RE: Perl 6 To Be Complete Rewrite (Topaz, Perl, C++ ??)
    fogivably off-topic question?

    Unlike many or most Monks, I'm not a programmer by trade. Could some who are help one who isn't <grin> with what "Topaz... reimplement Perl in C++" means?

      Current Perl is written in the C programming language, or more correct, current perl (lower case) is ... all that :-)

      Perl 6 will be written in C++ (that is, perl :).


      The name for development will be Topaz, a code name, if you will, like Cartman was for RedHat 6.1


      s/will be/is, but may not remain,/;
        Perl 6 will be written in C++ (that is, perl :).

        Well, I'm on their mailing list and there appears to be a fair amount of debate about this. Some want it to be written in C, others say C++, one person mentioned Objective C, there appears to be a fair amount of support for development in a meta-language (oh yeah, that's good: people who want to help have to learn a new language) that gets compiled to C or C++ and others are advocating a "MicroPerl". The latter involves writing Perl 6 in a subset of Perl 5 that will get compiled down to C and optimized by hand where necessary.

        All in all, I've seen some really intelligent ideas and some grotesquely stupid ones, but there doesn't seem to be a consensus yet (unless I missed a few e-mails).

        Um, Chip Salzenberg has been writing a Perl6-ish language in C++ called Topaz (get it? Perl... Topaz...). There is no solid decision whether Perl 6 will be modeled after Topaz in this respect.

RE: Perl 6 To Be Complete Rewrite (But Not What You Think)
by turnstep (Parson) on Jul 22, 2000 at 02:07 UTC
    All I have to say, as a former Perl 4 user, that if Perl 6 is even half as much an improvement as 5 was over 4, then wow! :)