Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!zaphod.mps.ohio-state.edu!uwm.edu!bionet!arisia!roo!mark From: mark@parc.xerox.com (Mark Weiser) Newsgroups: comp.theory Subject: Re: Procedures with multiple out parameters: why not? Message-ID: <516@roo.UUCP> Date: 17 Aug 90 04:29:31 GMT References: <1990Aug15.231838.5664@zaphod.mps.ohio-state.edu> <21458@grebyn.com> Sender: news@parc.xerox.com Lines: 19 Perhaps it depends on what counts as more than one out parameter. Many languages permit the return of record structures, and the selection of components as part of the call. This could be argued as a form of multiple out parameters. (e.g.: PROC foo [] RETURNS RECORD [i,j: INT]; ... x = foo[].i; If the issue is something like value vs. var parameters, then the restriction could be restated as saying that it is bad to have ANY out parameters (i.e. any var parameters)--only return of a (possibly complex value) should be permitted. This seems to be in agreement with formal practice also. I would guess it is in line with Dijkstra's intent. -mark -- Spoken: Mark Weiser ARPA: weiser@xerox.com Phone: +1-415-494-4406