[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" <jaffer@martigny.ai.mit.edu>

      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.
--------------------
Morry Katz
katz@cs.stanford.edu
--------------------