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

Order of "processing" of arguments

   Date: Thu, 12 Jan 89 12:49:19 EST
   From: Bruce Krulwich <krulwich-bruce@yale.arpa>

   Michael Greenwald said:
   >Actually, CLtL pg 61 says that the arguments and parameters are
   >processed in order, from left to right.  I don't know if "processed"
   >implies "evaluated", but I always assumed (perhaps incorrectly) it did.

   Guy Steele replied:
   >I interpret this as referring to how the (fully evaluated) arguments
   >are processed during lambda-binding, not to the order in which argument
   >forms in a function call are evaluated.  After all, the arguments referred
   >to on page 61 might have come from a list given to APPLY, rather then
   >from EVAL on a function call.

   This seems vacuous to me.  Does this mean that an implementation in which a
   procedure entry point knows how many arguments its receiving (through a link
   table, for instance, or simply by counting its arguments) and constructs a
   REST-arg list before doing the binding of the required args is in violation of
   CLtL because it processes the rightmost argument before the leftmost one??  I
   hope not.

   It seems to me that as long as actuals and formals are matched up correctly
   there is no reason for the language specification to specify the order of the
   "processing" of the arguments during lambda-binding.

   Bruce Krulwich

The implementation need only behave "as if" it
processed them in that way.

It is always permissible to dye one's whiskers green
and then to use so large a fan that they cannot be seen.