Scheme 201x

18 views
Skip to first unread message

John Cowan

unread,
Apr 21, 2011, 1:11:52 PM4/21/11
to scheme-re...@googlegroups.com
One of the tasks of WG1 is to provide a name for the language we are
describing. So far there has been little discussion and nothing like
consensus. After much muddling and mulling, I now have a proposal for
discussion: Scheme 201x (where x is replaced by 1, 2, 3, ... depending
on the final publication date).

What's wrong with "R7RS"? Several things. To begin with, it's a
classic case of carrying a joke too far: the Revised Revised Revised
Revised Revised Revised Revised Report on the Algorithmic Language
Scheme. As Robert Heinlein said about this kind of joke, "Use it once,
you're a wit. Use twice, you're a half-wit."

Second, "R7RS" labels the report, not the language. Third, it suggests
that the WG1 language is a revision of R6RS, which it is not except in
some Pickwickian sense: in practice, the WG1 language is a revision
of R5RS, yet the name "R6RS" has been preempted. Fourth, it fails to
distinguish between the WG1 language and the WG2 language, which may
wind up having some features or requirements that are not in WG1 in
addition to standardizing more modules.

Using a simple number, like "Scheme 7", has at least two problems.
There is already an implementation called "Scheme 7" as well as ones
called "Scheme 9 From Empty Space" and even "Scheme 48". What's
more, it's too easily confused with the version numbers of particular
implementations. Saying "Chicken 5 implements Scheme 7" would just mess
with people's heads.

So that leaves a date. Many, many other standardized languages use this
convention, derived from the fact that most standards organizations
date their standards. We have Fortran 66, 77, 90, 95, 2003, and 2008;
we have C89/C90, C99, and C1x in progress. We have C++98 and C++0x
in progress. We have Cobol 1968, 1974, 1985, and 2002. Granted that
lots of people don't want Scheme associated with *those* programming
languages (for any given value of *those*), this seems a small and
harmless bit of conformity.

A date can't be mistaken for any plausible version number, and
essentially all Schemes except the ones I mentioned above and Racket
have names of the form "X Scheme" where X is a fanciful term such as
Chicken, Gauche, or Termite. "Chicken Scheme 5 implements Scheme 2011"
isn't nearly as confusing. (This is not a prediction about what will
happen to Chicken, just an example.)

To sum up: I propose we call the language "Scheme 2011" and the report
"Report on the Algorithmic Language Scheme 2011".

--
John Cowan http://ccil.org/~cowan co...@ccil.org
'Tis the Linux rebellion / Let coders take their place,
The Linux-nationale / Shall Microsoft outpace,
We can write better programs / Our CPUs won't stall,
So raise the penguin banner of / The Linux-nationale. --Greg Baker

Brian Harvey

unread,
Apr 21, 2011, 1:35:54 PM4/21/11
to scheme-re...@googlegroups.com
I don't think I've ever seen "Pickwickian" before in a discussion about
computers. :-)

What do you propose naming WG2? "Scheme++ 2011"?

John Cowan

unread,
Apr 21, 2011, 2:45:18 PM4/21/11
to scheme-re...@googlegroups.com
Brian Harvey scripsit:

> What do you propose naming WG2? "Scheme++ 2011"?

If there really winds up being a separate language, it could be Scheme
2012. If it's just libraries, we could simply call the report "Report
on Additional Libraries for Scheme 2011".

--
John Cowan http://www.ccil.org/~cowan <co...@ccil.org>
You tollerday donsk? N. You tolkatiff scowegian? Nn.
You spigotty anglease? Nnn. You phonio saxo? Nnnn.
Clear all so! `Tis a Jute.... (Finnegans Wake 16.5)

Aaron W. Hsu

unread,
Apr 21, 2011, 4:31:08 PM4/21/11
to scheme-re...@googlegroups.com
On Thu, 21 Apr 2011 13:11:52 -0400, John Cowan <co...@mercury.ccil.org>
wrote:

> To sum up: I propose we call the language "Scheme 2011" and the report
> "Report on the Algorithmic Language Scheme 2011".

I like the idea of a date. I would prefer the report to put the date
first, as I think it reads better:

"2011 Report on the Algorithmic Language Scheme"

Aaron W. Hsu

--
Programming is just another word for the lost art of thinking.

Aaron W. Hsu

unread,
Apr 21, 2011, 4:33:49 PM4/21/11
to scheme-re...@googlegroups.com
On Thu, 21 Apr 2011 14:45:18 -0400, John Cowan <co...@mercury.ccil.org>
wrote:

> If there really winds up being a separate language, it could be Scheme


> 2012. If it's just libraries, we could simply call the report "Report
> on Additional Libraries for Scheme 2011".

Is it possible to leverage the use of the term "Core?" I like the way that
Core implies a connection between the languages and moreover, that it
suggests one is an extension or expansion of the other. I'd like to avoid
names that suggests some sort of incompatible rift between them. On the
other hand, if we can wing it, I'm not opposed to something like a
Standard Libraries moniker for WG2's efforts.

John Cowan

unread,
Apr 21, 2011, 4:49:39 PM4/21/11
to scheme-re...@googlegroups.com
Aaron W. Hsu scripsit:

> "2011 Report on the Algorithmic Language Scheme"

That's a reasonable name for the report, but the language defined by WG1
still lacks a unique name.

--
John Cowan co...@ccil.org http://ccil.org/~cowan
Female celebrity stalker, on a hot morning in Cairo:
"Imagine, Colonel Lawrence, ninety-two already!"
El Auruns's reply: "Many happy returns of the day!"

John Cowan

unread,
Apr 21, 2011, 5:00:41 PM4/21/11
to scheme-re...@googlegroups.com
Aaron W. Hsu scripsit:

> Is it possible to leverage the use of the term "Core?" I like the way
> that Core implies a connection between the languages and moreover,
> that it suggests one is an extension or expansion of the other.

"Core Scheme" wouldn't be good, because it sounds like the name of an
implementation. "Scheme Core" doesn't have that problem, but it sounds
like a description ("the Scheme core") rather than a name. Also, there
might be a confusion between the core and the base.

> I'd like to avoid names that suggests some sort of incompatible rift
> between them.

I agree.

It occurs to me that "scheme2011" would be a good petname for the WG1
modules like "(scheme2011 inexact)"

--
Even the best of friends cannot John Cowan
attend each others' funeral. co...@ccil.org
--Kehlog Albran, The Profit http://www.ccil.org/~cowan

John Cowan

unread,
Apr 21, 2011, 5:09:34 PM4/21/11
to Jim Wise, scheme-re...@googlegroups.com
Jim Wise scripsit:

> I may be a hoary traditionalist, but I think it would be a bad move to
> break the chain of RnRS naming for the report itself. One of the best
> things Scheme has going for it is its long history and its specific
> origin, so it's worth keeping a link to that past.

Personally, I'd rather bring back the Lord of the Lambdas rhyme that was
the abstract for R2RS. How do you answer the argument that R7RS is not
revised R6RS, though? Also, what happens with the other report? R6RS
was physically broken into chunks, but was a unitary report -- you had
to implement all of it except the rationale.

> I also think the WG1 and WG2 products should be named in some way
> that makes clear that they are two parts of the same revision of
> the language, not earlier and later revisions (so Scheme 2011 Core
> Language and Scheme 2011 Extended Language, or similar, _not_ Scheme
> 2011 and Scheme 2012).

Fair enough.

> Just don't call the WG2 product Scheme 2011 Enterprise Edition, okay?

No fear of *that*.

--
De plichten van een docent zijn divers, John Cowan
die van het gehoor ook. co...@ccil.org
--Edsger Dijkstra http://www.ccil.org/~cowan

Patrick Durusau

unread,
Apr 21, 2011, 8:56:35 PM4/21/11
to scheme-re...@googlegroups.com
Aaron,

On 4/21/2011 4:31 PM, Aaron W. Hsu wrote:
> On Thu, 21 Apr 2011 13:11:52 -0400, John Cowan
> <co...@mercury.ccil.org> wrote:
>
>> To sum up: I propose we call the language "Scheme 2011" and the report
>> "Report on the Algorithmic Language Scheme 2011".
>
> I like the idea of a date. I would prefer the report to put the date
> first, as I think it reads better:
>
> "2011 Report on the Algorithmic Language Scheme"
>

Well, it reads better but only if you don't plan on using the name:

"Scheme 2011"

If that is the name of the language, then John's proposal reads better.

Yes?

I hesitate over your suggestion:

"2011 Report on the Algorithmic Language Scheme"

because that gives the impression of being a yearly "report" on the
Scheme language in general as opposed to being a report on a particular
"version" of the Scheme language.

There are other ways to indicate a "version" but just working from the
proposal in this email.

Hope you are having a great day!

Patrick

> Aaron W. Hsu
>

--
Patrick Durusau
pat...@durusau.net
Chair, V1 - US TAG to JTC 1/SC 34
Convener, JTC 1/SC 34/WG 3 (Topic Maps)
Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300
Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps)

Another Word For It (blog): http://tm.durusau.net
Homepage: http://www.durusau.net
Twitter: patrickDurusau

Aaron W. Hsu

unread,
Apr 21, 2011, 9:54:26 PM4/21/11
to scheme-re...@googlegroups.com
On Thu, 21 Apr 2011 17:00:41 -0400, John Cowan <co...@mercury.ccil.org>
wrote:

> "Core Scheme" wouldn't be good, because it sounds like the name of an


> implementation. "Scheme Core" doesn't have that problem, but it sounds
> like a description ("the Scheme core") rather than a name. Also, there
> might be a confusion between the core and the base.

I was thinking more along the lines of "Scheme 2011 Core" and "Scheme 2011
Standard Libraries" or something like that.

Alex Shinn

unread,
Apr 21, 2011, 11:54:33 PM4/21/11
to scheme-re...@googlegroups.com
On Fri, Apr 22, 2011 at 3:45 AM, John Cowan <co...@mercury.ccil.org> wrote:
> Brian Harvey scripsit:
>
>> What do you propose naming WG2?  "Scheme++ 2011"?
>
> If there really winds up being a separate language, it could be Scheme
> 2012.  If it's just libraries, we could simply call the report "Report
> on Additional Libraries for Scheme 2011".

At an absolute minimum it will have to extend the module syntax
with support for phase declarations. It's debatable if we want to
consider that a separate language, but it will be more than just
"additional libraries."

--
Alex

Emmanuel Medernach

unread,
Apr 22, 2011, 2:58:32 AM4/22/11
to scheme-reports-wg1


On 22 avr, 03:54, "Aaron W. Hsu" <arcf...@sacrideo.us> wrote:
> On Thu, 21 Apr 2011 17:00:41 -0400, John Cowan <co...@mercury.ccil.org>  
> wrote:
>
> > "Core Scheme" wouldn't be good, because it sounds like the name of an
> > implementation.  "Scheme Core" doesn't have that problem, but it sounds
> > like a description ("the Scheme core") rather than a name.  Also, there
> > might be a confusion between the core and the base.
>
> I was thinking more along the lines of "Scheme 2011 Core" and "Scheme 2011  
> Standard Libraries" or something like that.
>

I really like this "Scheme <year> Core / Scheme <year> Standard
Libraries" naming idea, because it expresses one the idea that is
fundamental to Scheme:
"a very small number of rules for forming expressions, with no
restrictions on how they are composed, suffice to form a practical and
efficient programming language that is flexible enough to support most
of the major programming paradigms in use today."

Best regards,
--
Emmanuel Medernach

John Cowan

unread,
Apr 22, 2011, 11:09:46 AM4/22/11
to scheme-re...@googlegroups.com
Alex Shinn scripsit:

> At an absolute minimum it will have to extend the module syntax with
> support for phase declarations.

I'm not convinced of that after reading Abdulaziz's
paper "Implicit Phasing for R6RS Libraries"
<http://www.cs.indiana.edu/~dyb/pubs/implicit-phasing.pdf>. Money quote
(from Section 4.5):

Given that the explicit phasing model requires more work on the part
of the programmer, does not allow the programmer to specify phase
precisely, generally incurs more compile-time overhead, and limits the
set of programs that can be written, it is fair to ask whether it has
compensating benefits. We believe that it does not.

In Section 4.2 there is the following (admittedly contrived) macro
that cannot be given an explicit phase, but can be handled by an
implicit-phasing system:

(define-syntax let-syntax***
(syntax-rules ()
[(_ () body) body]
[(_ (i* e*) ... (i e) body)
(let-syntax ([i (let-syntax*** ((i* e*) ...)
e)])
body)]))

I'm told that there exists a rebuttal to this paper, but I can't find one.

Big as a house, much bigger than a house, it looked to [Sam], a grey-clad
moving hill. Fear and wonder, maybe, enlarged him in the hobbit's eyes,
but the Mumak of Harad was indeed a beast of vast bulk, and the like of him
does not walk now in Middle-earth; his kin that live still in latter days are
but memories of his girth and his majesty. --"Of Herbs and Stewed Rabbit"

John Cowan

unread,
Apr 23, 2011, 5:55:33 PM4/23/11
to Jim Wise, scheme-re...@googlegroups.com
Jim Wise scripsit:

> Well, it _is_ a revision to R7RS, at least in the sense that it is a
> reaction to it (no use in pretending otherwise), and naming it so also
> keeps the sequence clear and continuous for the historical record in a
> way in which it won't be if future revisions depart, in turn from this
> naming convention: we all know the order of Fortran 66, 77, 90, 2003,
> and 2008, but who now remembers where in the sequence Fortran IV fell?

Wikipedia for one. The "IV" was an implementation version number
for IBM Fortran, not the number of a standard, though the Fortran 66
standard followed quickly on and was very closely related to the Fortran
IV implementation.

> Plus which, a tradition which goes back to Algol (the original Report
> on Algorithmic Language Scheme name was carefully chosen to show that
> Scheme had roots in Algol, whose report was named thusly, as well as
> in LISP) should not be overturned lightly...

I'm absolutely for that part. But the Algol 60 reports were "numbered"
original, Revised, and Modified (and there it ended); the Algol 68
reports were original and Revised (and there it ended). There was no
proliferation of iterated adjectives.

--
Verbogeny is one of the pleasurettes John Cowan <co...@ccil.org>
of a creatific thinkerizer. http://www.ccil.org/~cowan
--Peter da Silva

Aaron W. Hsu

unread,
Apr 24, 2011, 2:58:44 PM4/24/11
to scheme-re...@googlegroups.com
On Fri, 22 Apr 2011 11:09:46 -0400, John Cowan <co...@mercury.ccil.org>
wrote:

> I'm told that there exists a rebuttal to this paper, but I can't find
> one.

In this case, I think the problem falls outside of who is right and wrong
on implicit versus explicit phasing. There are two camps, it seems, and I
think that many of the systems that implement explicit phasing are
unwilling to implement an implicit semantics for their module systems.
Similarly, those who have implemented the implicit phasing semantics are
as likely to not implement the explicit phasing semantics.

I think that this will be a tough question, because I don't think we can
so easily force implementations to choose one or the other, or even both.
On the other hand, I have not seen statistics on how many major
implementations support which ones.

On the other hand, I prefer implicit phasing, and I don't want to be
forced to program in the explicit phasing systems.

Reply all
Reply to author
Forward
0 new messages