ACM Queue: There’s Still Some Life Left in Ada

Well, at least according to this article.
Much as I like Ada, I find this article a bit unbalanced, so feel free to criticize it and the language, if you like.

Haskell Communities and Activities Report, Seventh Edition, November 2004

The November 2004 edition of the biannual Haskell Communities and Activities Report has been published. Lots of new stuff in the last six months, and some old stuff updated as well. The HC&AR has been steadily growing over the last three years, showing that FP is gaining users both professional and private.

Several of the HC&AR items are interesting enough to have their own LtU stories, which may appear shortly.

The Essential Haskell Compiler

On the same subject as the Scheme compiler in 90 Minutes, is the Essential Haskell Compiler. From the HC&AR summary:

The purpose of the EHC project is to provide a description a Haskell compiler which is as understandable as possible so it can be used for education as well as research


In order to avoid overwhelming the innocent reader, the description of the compiler is organised as a series of increasingly complex steps. Each step corresponds to a Haskell subset which itself is an extension of the previous step. The first step starts with the essentials, namely typed lambda calculus.



Sounds like BC Pierce's Types and Programming Languages.
Also notable is that EHC uses Utrecht's Attribute Grammars, which are interesting in their own right.

Quick update

Due to family health problems I am away from my computer most of time, and not reading PL papers.

I'd appreciate it if the other editors take up the slack...

Predicate Dispatch in the news

Lemonodor writes about predicte dispatch in CLOS, Patrick writes about Smalltalk (and see the comments regarding Python).

A few more posts are floating around, so follow the links from these two blog posts.

Where is everyone?

Editors, are you all still tired because of the election?

I'm feeling lonely around here.

OOPSLA essays track

The program chair for OOPSLA 2005, Richard P. Gabriel, wants to shake things up. As part of that he's going to institute an Essays track, and I will be program chair for that track. I'm hunting for people to serve on the committee. -- Brian Marick

Might want to send in your suggestions.

Me, I am going to think of an essay topic...

eWeek: Programming Legends Debate .Net, J2EE

At a session entitled "The Great J2EE vs. Microsoft .Net Shootout" at the OOPSLA conference here this week, software development superstars debated the relative strengths and weaknesses of Microsoft's .Net and Sun's Java 2 Platform, Enterprise Edition. The panelists included Anders Hejlsberg, Microsoft Corp. distinguished engineer and lead designer for the C# language; John Crupi, chief Java architect for Sun Services at Sun Microsystems Inc.; Don Box, leading Microsoft architect on its Indigo project; Rob High, IBM's chief architect for the WebSphere Application Server Family; and Alan Knight, lead developer for the Web Toolkit at Cincom Systems Inc. and a Smalltalk expert.

From the eWeek coverage it would seem that the panelinsts didn't explore the deep, underlying, issues (but then, for that you read LtU).

Still, some of you might want to check out this article for yourselves.

End Users to Shape Effective Software

This might be an interestng project to keep an eye on.

The papers seem to cover a wide range of topics relevant to end user programming in a variety of settings.

The 90 Minute Scheme to C compiler

90 minute video presentation from Marc Feeley, along with accompanying PowerPoint slides and source code, for a Scheme to C compiler. Good discussion of continuations and closures, as well as some dipping into the area of compiler construction.

How to write a simple Scheme to C compiler, in Scheme. In only 90 minutes! And although not supporting the whole Scheme standard, the compiler supports fully optimized proper tail calls, continuations, and (of course) full closures. The compiler is implemented using two important compilation techniques for functional languages: closure conversion and CPS-conversion.

The emphasis is on the 4 major problem areas that crop up in an attempt to convert Scheme to C:

  • tail-calls a.k.a. tail-recursion opt.
  • first-class continuations
  • closures of indefinite extent
  • automatic memory management i.e. GC

The solution presented gives a series of source-to-source transformations. Stage 1 of the compiler expands the 'let' forms in the Scheme code. Stage 2 converts continuations to CPS. Stage 3 converts the code to closures using encapsulated closure objects. Stage 4 is not presented but touches on how the results would lend itself to a GC implementation.