R6RS

by Brian Hayes

Published 15 September 2006

Scheme, the dialect of Lisp invented by Guy Lewis Steele, Jr., and Gerald Jay Sussmann, is my first love among programming languages, though I haven’t always been faithful. There’s a new draft standard for Scheme now circulating at http://www.r6rs.org/. The proposal is open for comments until next March; on final approval it will become “The Revised6 Report on the Algorithmic Language Scheme.”

Scheme has always been a language under both tension and pressure. It started out (more than 30 years ago) as a sandbox for playing with some new ideas in programming-language semantics, and also (I think) as an attempt to “do Lisp right.” Soon it became an important teaching language, and it still is. But there’s always been pressure to make more of it. Shouldn’t a language for grownups have modules, libraries, foreign-function interfaces—not to mention classes, methods, inheritance and all the other apparatus of OO? That’s the pressure part. The tension has come from unceasing debates over issues such as the ideal syntax and semantics of macros, and the morality of creating a version of Lisp without an eval procedure.

I’ve only just begun to read the new draft, which is officially the Revised5.91 Report. But I think one can draw some preliminary conclusions just from its heft. Here are the page counts of the principal versions of the standard:

Date Pages
The Revised Report 1978 34
The Revised Revised Report 1985 76
The Revised3 Report 1986 42
The Revised4 Report 1991 55
The Revised5 Report 1998 76
The Revised5.91 Report 2006 142

An introductory essay that first appeared in the Revised3 Report begins:

Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary.

The same text is still present in the new document. I’ll be interested to learn whether the same spirit has survived. It’s not to be taken for granted that just because the standard has doubled and then redoubled in size, the language has also grown obese. But it’s an obvious worry.

Responses from readers:

  • A comment from TCO, 16 September 2006 at 3:11 pm

    We are discussing some graph theory stuff over at this blog. I linked to a bunch of your articles to try to raise the discussion level. It is a lot around “debunking” of Milgram. Do you have a perspective on that? Love to have you grace the blog, regardless. It has a real blend of high level and low level debate, so please don’t expect perfection or indict it for it’s issues.

    P.s. I corresponded with you several years ago and sent you a Harvard Business Review article on network considerations in business strategy (things like ATM locations or bank offices).

  • A comment from TCO, 16 September 2006 at 3:13 pm

    Oops, this is the link.

    http://www.climateaudit.org/?p=753

    P.s. sorry if this is wrong thread, could not find a graph theory one that was recent.

Please note: The bit-player website is no longer equipped to accept and publish comments from readers, but the author is still eager to hear from you. Send comments, criticism, compliments, or corrections to brian@bit-player.org.

Tags for this article: computing.

Publication history

First publication: 15 September 2006

Converted to Eleventy framework: 22 April 2025

More to read...

600613

Pick a number, N, then try searching for it on the web via Bing or Google (or maybe the leet version of Google).

Rashid’s Bits

These 1s and 0s are woven into the upholstery fabric of the seats in an auditorium at Carnegie Mellon University. Does the pattern have any meaning?

Approximately Yours

However foolish, I recall it fondly: My first dabbling adventure in computational number theory.

Counting Sums and Differences

On a research-level math problem that seems to involve nothing more exotic than counting, adding, and subtracting.