GIGO: words unreadable aloud
Mishrogo Weedapeval


  Wednesday 3 April 2002
Wallese World

I attended the SVLUG meeting tonight: Larry Wall gave a talk describing Perl 6. IMHO, Larry can be forgiven for having invented Perl, because of having written rn and patch.

Apocalypso Now

Larry speaks Wallese. I kinda like Wallese. "Whipuptitude" is the dimension where shell is more successful; "manipulexity" is the one where C works better. "Dwimmery" is the quality of a system that can "Do What I Mean"; being careful about something is "bewaring". There is a page of Wallquips here.

Larry is writing a series of articles about Perl 6, taking one per chapter of the Camel book. Each such article is an "apocalypse".

Larry said that he recently finished writing the fourth apocalypse, about Statements and Declarations, aka control structures, aka syntax. This page has pointers to the first two apocalypses, and apocalypse 3 is here.

Many of the language decisions being made do sound like they'll make Perl a better language (there wasn't much room to go the other direction!) -- removing special cases along with (some of the) quirky syntax that supported them. Some sound more implementation-inspired, but reasonable.
11:53:54 PM   comment/     

First Class Attribute Grammars

Mostly finished reading the paper I mentioned the other day, about Aspect-Oriented Compilers. One of its co-authors, Ooge de Moor, is studying:

How do you decompose a compiler into logical components? To avoid having to specify passes, you can use lazy evaluation. But even then, you need to specify for each production in the context-free grammar what the semantics are, and all aspects (lexical level, type, etcetera) are specified in one place. Consequently the compiler writer cannot separate his concerns, and it is hard to re-use bits of compiler, or extend an existing one. I think that novel type systems for object-oriented programming are the answer.
He has links to (gzip'd postscript versions of) the paper about Aspect-Oriented Compilers and one that focuses on making Attribute Grammars be first-class entities.

My take on the approach is that yes, sometimes you want to look at a given aspect of the compiler, across all of the language's constructs (grammar productions); but sometimes you want to look at all of the aspects that pertain to a given construct. This leads me to think that there are big benefits to be had if you could cross-slice a program in multiple ways while developing it. Something similar to what the tangle/weave literate programs do, but with multiple ways of viewing and organizing the "real" code.

I guess I oughta read the paper first.
10:31:27 AM   comment/     

Click here to visit the Radio UserLand website. Click to see the XML version of this web page. © Copyright 2007 Doug Landauer .
Last update: 07/2/6; 12:03:33 .
Click here to send an email to the editor of this weblog.

April 2002
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
Mar   May