[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Talking about a revolution...



Like Gerry, I think that RnRS is not a finished project.  The
evolution of Scheme though the RnRS process should continue.  I would
add a module systems to Gerry's list of features that are crucial for
the future viability of Scheme.

Let's be realistic about the ability of a large committee to
incorporate innovative language features into Scheme.  Let me remind
you, that getting a consensus on a modest proposal to add multiple
value returns to Scheme required a large amount of time devoted to
e-mail discussions.  The committee approach to language design is long
and slow, and the result is a large number of compromises.

I propose that we initiate an effort to produce a new Scheme-like
language which, for now, I will call Machinate.  I believe we should
appoint a group of not more than five people to design this language
without close oversight from the larger community.  Let me immediately
remove my name from consideration so as to avoid any appearance of
conflict of interest.

Unlike RnRS, Machinate should be designed without a requirement of
compatibility with any Scheme standard.  The designers should reflect
the Scheme philosophy, but review many of the design decisions made
for the Scheme language.

For example, in Machinate, CONS could create read-only lists cells,
and SET-CAR! and SET-CDR! could be eliminated from the language.  This
incompatible change would allow parallel implementations which do not
have to synchronize accesses to list structures, and hence, it would
be more efficient.

Henry Baker wrote a critique of DIN Kernel Lisp in the March 1992
issue of Lisp and Symbolic Computation.  He complained that the ISO
Lisp standardization effort is far to conservative and likely to
produce a language of little interest to commercial vendors.  He then
when on to propose some substantial changes to Lisp.  Many of is
suggestions should be considered for Machinate.

It's time for a big change.

John