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

Multiple-value SETQ/RETURN

Somewhat inobtrusively, we've added MSETQ-CALL and MSETQ-RETURN
to NIL for the obvious purpose;  one reason that we've avioded
merely giving multiple arguments to RETURN is possible confusion 
with RETURN-FROM, but this is not really important.  At any rate,
I'd like to suggest that whatever you contemplate for MACLISP be
fully compatible with whatever we make as the final decision for NIL.
It's super important that this not linger too long snce we dont'
like the idea of re-changeing NIL's special forms too much (witness
KMP's paper in LISP Conference).  Also I have a lot of NIL code using
MSETQ-CALL and MSETQ-RETURN -- not that the names are important, but
the fnctionality is definitely needed.  For a quick view of the
syntax/semantics, see NIL;NEWFUN >  ( I think they are basically
the same as the LISPM facility, or trivial variants, except for
the ambiguous meaning of RETURN).  
  For the MACLIP compiler, rather than hair up RETURN, wy not
let usintroduce these guys for real -- it wuld take only about
an hour to add the compoler code for the, andmaybe another
smilar amount of time to add FSUBRs to theinterpreter.  I'd
propose using accumulators 1 - 5 for the return values,
postponing the inevitable question of what to do when you
want moe than 5 return values.
  Finally, apologies for the dropped letters in thisnote -
am on a verrry unfamiliar terminal here in Palo Alto.