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

Multiple values for R4RS.



   Date: Mon, 21 Aug 89 15:23:33 PDT
   From: Warren Harris <harris%hplwhh@hplabs.hp.com>

   Your proposal doesn't say what happens when the number of values
   expected by the receiver is different from the number the generator
   produces.  A simple case is when multiple values are returned and one
   is expected:

	   (cons (values 1 2) 3)
	   => (1 . 3)
	   => (<?> . 3)
	   => <error>

I believe  that we explicitly stated that the return-arity must be compatible
with the arity of the receiver.  If we forget about rest arguments for a
moment, compatible was defined as identical.  In the case above, the arity of
the implicit continuation to cons is 1 and the return-arity of values is 2, so
there is an arity incompatibility.  We proposed that arity incompatibilities
are an error (not signal an error).  This leaves open the ability for some
implementors to create extensions to multiple values which are not strict
without violating RNRS.
extensions that some 

-------------------------------------------------------------------------------
Morry Katz
katz@polya.stanford.edu
-------------------------------------------------------------------------------