STEPS Toward The Reinvention of Programming: First Year Progress Report

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Executive summary?

The project sounds cool but the report is very badly organized as far as I can tell. A one paragraph summary would be appreciated...


Page 9 seems to fit the bill: they're building a new system that fits Alan Kayish ideas about what a programming environment should look like, that is targetted to three platforms: squeak, javascript & their new multiple architecture compiler.


I read it before posting my message... I was looking for a page to refer others to and decided that I didn't find a good place to recommend ;-)

Essentially what is needed is a (better) translation of "Alan Kayish ideas about what a programming environment should look like" into the regular terminology in the field.

Alan Kayish ideas

I don't think the general thrust of Alan Kay's ideas have changed since Squeak. My very preliminary impression is that a major new focus is on keeping the parts of the new system separate, so that the system can be chopped and changed more; my impression is that Squeak can become a bit of a tangled mess.

I think the proposal is all over the place because the different investigators are doing lots of different things. My favourite slice was the diagram on page 29, where Chuck Thacker's project (at Microsoft) for making a tiny processor out of FPGAs as a target. But what making efficient parallel computational structures for some of the more adventurous solutions to the problems of this project might involve seems pretty wide open to interpretation.

I wouldn't call the report

I wouldn't call the report badly organized -- It's an activity report after all, not a whitepaper. The one-sentence summary I have would seem to be "programming with grammars" :) (edit: actually better would be "a complete modern operating environment in less than 20,000 LOC)

I'm not normally one to post mindless slashdot-esque "wow" replies, but I couldn't help but be absolutely gobsmacked by the work detailed in this paper -- not so much for pushing the theory (they're basically implementing old languages) but for the extreme expressiveness of the approach.

Shame I can't get Lively to run right in firefox :-/

There are a lot of achievements in the paper, but...

...many of them are not new achievements: take a look at what Kay & co did with Squeak. The natural question to ask is: why did the PIs think that they needed a new framework? Why couldn't they reuse what had been done with Squeak? What Achilleas & I wrote points to different aspects of a possible reason, though I don't know either Squeak or STEPS well enough to say with any confidence that we are on the right track.


Domain-specific languages are useful because they allow for more abstraction than generic-purpose languages.

I tried to run the lively kernel on my office PC(P4, 3GHz, 1 GB ram, NV 7100 GS) but it was unusable due to being extremely slow.

Until a major operating system comes along that is not programmed in C and proves as fast and as capable as a C-based O/S, there is really no hope from getting away from the C mindset in the large.


I wonder if the code is available and if yes with which license: they don't talk about it in the report.

IMHO this kind of applied research should try to 'hook up' with the free software community..

Click here.

Coke and pre-scheme

From how that page introduces the Coke programming guide: the 'pre-scheme'-like function language.

Is that the same as the Kelsey pre-scheme? No, probably not the same, since there's no talk of either tail-recursion or only evaluating lambda forms where they can be stack allocated, but it looks like a reference to what Kelsey was doing. I wonder why Piumarta didn't use Kelsey's dialect...




Someone's already posted a link to COLA, so find OMeta here. Doesn't look like the COLA version of OMeta is available though, so you're going to need either JS or Squeak.

Anyone know about the availability of IS? It's not exactly the easiest term to google for.


I find this project very provocative. Really high stakes, chance to really win big, lots of dangers.

Speaking of risks: reading about these tiny-winy line counts makes me wonder how much tinyness has been optimized at the expense of "habitability". For example, if I want to add multiple retransmission strategies to the TCP (a good feature of Linux) then will that be easy or might it bugger up the whole parser-based approach and make a big mess? They don't have to implement every feature under the sun but I hope the system will be amenable to extension.

I reckon the ultimate success criteria for a TCP is to be able to sit down with Alan Cox and say "mine's better than yours." :-)

So it's a very big and exciting project and I can't imagine anyone better qualified to undertake it than the people behind Squeak.
Let's see what they come up with this year :-)

Link broken