Subject: Re: named return values
From: Erik Naggum <erik@naggum.net>
Date: Sat, 04 May 2002 17:52:53 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3229523572556387@naggum.net>

* Kalle Olavi Niemitalo
| I think I would prefer crossing these features with keyword arguments, so
| that new return values could be added to functions without affecting
| existing callers.  A function call would specify which values it wants.
| Functions would normally provide all available values and Lisp would
| discard the unused ones, but there would also be a way for functions to
| check which values are needed and compute only those.

  Please note that Common Lisp is _much_ more descriptive than one might
  think from a C-like point of view.  If you ask for the nth value, that
  could conceivably be communicated in the call because the call contains
  enough context to know, and so too if non-primary values are ignored, or
  even all values, it may cause a different call.  If Common Lisp were
  compiled to a fairly standard CLVM and that again was compiled as more
  knowledge of the actual function calling pattern emerged, as in Sun's
  HotSpot for Java we could see that kind of stuff dynamically evolve and
  not be prepared for by the compiler into static machine code.
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.

  70 percent of American adults do not understand the scientific process.