Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!dcl-cs!aber-cs!athene!pcg From: pcg@cs.aber.ac.uk (Piercarlo Grandi) Newsgroups: comp.lang.lisp Subject: Re: Virtues of Lisp syntax Message-ID: Date: 20 Sep 90 13:37:57 GMT References: <33709@cup.portal.com> <1990Sep10.091911.20877@hellgate.utah.edu> <1990Sep18.002137.10940@cbnewsc.att.com> Sender: pcg@aber-cs.UUCP Followup-To: comp.lang.lisp Organization: Coleg Prifysgol Cymru Lines: 25 Nntp-Posting-Host: odin In-reply-to: lgm@cbnewsc.att.com's message of 18 Sep 90 00:21:37 GMT On 18 Sep 90 00:21:37 GMT, lgm@cbnewsc.att.com (lawrence.g.mayka) said: lgm> In article , lgm> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: pcg> The real challenge here is that we want some syntax that says, apply pcg> this operator symbol to these arguments and return these value_s_. Even pcg> lisp syntax does not really allow us to easily produce multiple values. lgm> Common Lisp supports multiple value return with a fairly simple syntax. It is fairly ad hoc, ugly and "inefficient". It essentially implies that you are assignining a list to a list. It is also slightly incosistent in flavour with the rest of the language. Conventions like that used by Aleph (no return values, only in and out parameters), or Forth (take N from the stack, return M from the stack) seem to be much more consistent... You have a point that it is simple, though. It is still a bit of a fixup job, though (IMNHO of course). -- Piercarlo "Peter" Grandi | ARPA: pcg%uk.ac.aber.cs@nsfnet-relay.ac.uk Dept of CS, UCW Aberystwyth | UUCP: ...!mcsun!ukc!aber-cs!pcg Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk