Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wasatch!cs.utexas.edu!sun-barr!texsun!pollux!ti-csl!m2!gateley From: gateley@m2.csc.ti.com (John Gateley) Newsgroups: comp.lang.misc Subject: multiple values Message-ID: <85644@ti-csl.csc.ti.com> Date: 27 Jul 89 17:59:50 GMT Sender: news@ti-csl.csc.ti.com Reply-To: gateley@m2.UUCP (John Gateley) Organization: TI Computer Science Center, Dallas Lines: 16 Cc: nick@lfcs.ed.ac.uk In an article in comp.arch, Nick@lfcs.ed.ac.uk claims that in order for multiple values to be useful, you must be able to pass them around as structures. I disagree with this, if the language needs structures, add structures. If the language needs multiple values, add multiple values. They are two different orthogonal concepts: a structure is somthing which holds several objects; multiple values are several objects returned from a function. A structure has creators/accessors for accessing the object, and unlimited extent (or whatever default extent objects in the language have). Multiple values have two 'operations': return and accept. These operations are extensions of the single value returning function operations. Multiple values have limited extent. John gateley@m2.csc.ti.com