Already Postive Change for R7RS

The R7RS steering committee will be updating the charter to allow for another two members in the steering committee: Olin Shivers and Chris Hanson. Two more members is a good thing. Additionally, the post hints that the passionate discussion on the R6RS mailing list may have payed off with changes to the process that will better represent all of the community. I look forward to what comes of this.

(via PLT)

Most programming languages are created without any theory

The argument is made in this quote that most programming languages are created without any theory, and end up looking for it later, and rarely find it.

Here is the quote from Robin Milner:

Is there any lesson from the research field that you don’t see applied?

Robin: Most programming languages have been desgined without first thinking about the theory on which the meaning would be based. So, very often a language gets designed and implemented, and then what it means, what is supposed to happen when every program is run, is not necessarily predicted. Of course it was in some cases wonderfuly predicted, for example, in ALGOL60; the ALGOL60 report of 1960 was so accurate that one could follow it and find out what was going to happen. This isn’t always the case. Even in the good languages, the formal basis is not there before the language arrives, so what people do is later to retrofit a theory of meaning to the language, and maybe that means that the design could not take advantage of theoretical understanding.

Why Scheme has tail call optimization

Actors was Hewitt’s attempt to model Smalltalk. Scheme was Steele and Sussman’s attempt to understand Actors. TCO was inherited from Actors. It is an OOP concept.

I confirmed this with Guy when I prepared for my ECOOP talk and I have the relevant email somewhere.

– Matthias

(via PLT [1])

[1]: “guido on tail recursion” Dimitris Vyzovitis vyzo at media.mit.edu Thu Apr 23 00:01:01 EDT 2009

Decentralized Scheme Code Tracker

Aaron posted here here about Descot; a scheme to manage Scheme libraries. This is the alpha version. Based on his explanation, my impression is that the goal is to simplify the management and distribution of libraries without being a package manager itself like PLT and Chicken Scheme include. Those managers, though, might use Descot as a source of libraries.