[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
n-ary functions rfc
Date: Sat, 13 Jun 92 19:01:10 -0400
From: "Aubrey Jaffer" <email@example.com>
From: Pavel Curtis <Pavel@parc.xerox.com>
Date: Fri, 12 Jun 1992 14:56:19 PDT
* Procedures are a more fundamental data type in Scheme than lists are;
we have special expressions for creating and using them. Aside from
history, the choice of lists for the representation of extra
arguments seems not just arbitrary, but foolish: vectors are clearly
more efficient to allocate, initialize, and access, regardless of the
order of the accesses.
First of all, optional arguments are not the only place in Scheme
where lists have special status. If you want to eliminate list's
special uses you will have to eliminate APPLY, MAP, and FOR-EACH or
make vector, string, and record versions as well. EVAL, which is in
many scheme implementations also is defined in terms of lists. The
fact that Scheme code can be parsed and written by READ, WRITE, and
LOAD also gives lists special status.
At the last Scheme meeting, I was assigned the task of regularizing
the functions in RnRS so that lists would not possess any special
status in Scheme relative to the other data types. When I was
finished, it was decided that many of the additions were not justified
and were therefore not added to the R4RS report.