This Month on Perl6 (1 May - 20 May 2001)

Notes

You can subscribe to an email version of this summary by sending an empty message to perl6-digest-subscribe@netthink.co.uk.

Please send corrections and additions to perl6-thisweek-YYYYMM@simon-cozens.org, where YYYYMM is the current year and month.

It’s been two months since we’ve seen a Perl 6 Summary, but it’s certainly not for lack of activity. Instead, Simon’s been very busy, er, being Simon, so I’m going to be hacking the summaries for a while. Since there’s been a lot of traffic flowing since we last aired, we’re going to skip April, and give a glossy on what’s gone on so far in May. The weekly summaries should resume next week.

Perl 6 Internals

All was fairly quiet with the -internals list, so I’m going to dip back into the tail end of April for some significant events. Dan Sugalski pointed everyone to an updated preview of the upcoming Garbage Collection PDD. Dave Storrs also released a first rough cut on a debugger PDD. After feedback from Jarkko and Dan on some scope tweaks to the PDD, Dave went back to work on it. Dave Mitchell proposed “PDD: Conventions and Guidelines for Perl Source Code” to try to establish some coding standards for Perl 6. Reaction was mostly silent assent (we presume), except for a peripheral discussion centered around where macros fall on the scale from Good to Bad.

Perl 6 Meta

It was much louder on the -meta side of the house. Peter Scott wondered aloud whether Perl 6 was enough of a name change to reflect the apparent differences between Perl 5 and the new language. After some half-digested suggestions on version numbers, code names, and even a departure from the Perl name itself, Nathan Torkington dropped a teaser for Damian Conway’s soon-to-be Exegesis 2, and Larry expressed that he didn’t feel the language was going to look all that different.

Adam Turoff later opined:

I don’t think backwards compatibility is the point here.

I picked up Camel 1 recently, and it was quite amazing how different Perl4 *felt*. It’s like Perl was being pitched as a good language for writing standalone programs or utilities of standalone programs (the type a sysadmin would use). It didn’t feel like it was being offered as the kind of language to write things like Class::Contract, Inline::C, AxKit, SOAP::Lite or the all-singing-all-dancing CGI.pm.

The ensuing discussion attempted to answer the $64,000 question: In the effort to “make the hard things easy,” were the easy things becoming harder? Was the entry barrier to Perl being raised too high as a side-effect of the sheer capabilities of the complexity of the language? There were plenty of arguments on all five sides of the coin.

Michael Schwern attempted to clarify some of the concerns by pointing out that “you will not have to rewrite your Perl 5 programs”, since Larry had apocalyzed Perl 5 syntax handling for Perl 6, as well.

Nathan then posted some sample code to show exactly how unchanged common Perl will be.

Perl 6 Language

The -language list saw the bulk of the activity, with over 500 messages during the three week period.

Apocalypse 2

As expected, Larry’s Apocalypse 2 generated a lot of response. Most of it was Q&A and general water cooler talk, but there are a couple things to bubble to the top.

Richard Proctor pointed out an ambiguity between the new and old uses of \Q. At the thread’s end, it looked as though Larry was in the process of consolidating all quoting constructs into one meta-syntax, although nothing specific was put forth.

Nathan Wiger was the first to express concerns about the new syntax for the I in I/O. (One of the basic issues of several folks was the verbiage needed to accomplish something as common as reading input.) Larry proffered some musings here, here, and here.

Nathan also asked for clarification on context and variables, which both Larry and Damian provided.

Exegesis 2

Damian Conway’s Exegesis 2 also spawned a lot of traffic. With few exceptions, however, the discussion was completely focused on properties and the new is keyword. Responses were varied as to what level of confusion the author was in, but the overall trend was fairly static - properties on values versus variables, and how it all comes together. Damian posted one last explanation.

Sandboxing

David Nicol asked whether Perl 6 should support sandboxing, or if it should rely on the underlying OS.

After some minor debate, the general consensus was that Perl should support its own sandboxing, which should be (relatively) trivial, at least for security concerns. There was some expressed worry, however, as to how to handle resource limitations.

Undecorated References

David Nicol also suggested that references be undecorated, in an effort to reclaim $ as a content hint, as well as a contextual one. After a fairly meandering discussion on Perl 5, Perl 6, and Hungarian notation, Larry said:

I happen to like $ and @. They’re not going away in standard Perl as long as I have anything to do with it. Nevertheless, my vision for Perl is that it enable people to do what *they* want, not what I want.

Lexing and Pushdown Expressions

Daniel Wilkerson requested better parsing capabilities to be built into Perl. There was general agreement that Perl had some weaknesses in these areas, but some trepidation on solving it beyond how current Perl modules do.

Miscellaneous

Alexander Farber asked for last to work in grep. After a couple demonstrations on how this was possible in Perl 5, the thread shifted to talking about compiler optimizations.

David Grove queried about the similarities between Perl 6 and .NET. After a couple responses on how this makes sense, the thread shifted to talking about data serialization.

Perl 6 Docs Released

Here are some of the major documents released during this period:

Apocalypse Two, Larry Wall.

Exegesis Two, Damian Conway.

PDD Debugger, Dave Storrs (rough draft, v1)

PDD Conventions and Guidelines for Perl Source Code, Dave Mitchell (Proposed, v1)

Until next week, I remain Simon’s humble, and (mostly) obedient, servant,


Bryan C. Warnock - Notes - Perl 6 Internals - Perl 6 Meta - Perl 6 Language - Apocalypse 2 - Exegesis 2 - Sandboxing - Undecorated References - Lexing and Pushdown Expressions - Miscellaneous - Perl 6 Docs Released

Tags

Feedback

Something wrong with this article? Help us out by opening an issue or pull request on GitHub