Path: utzoo!utgpu!watmath!att!tut.cis.ohio-state.edu!mailrus!csd4.csd.uwm.edu!cs.utexas.edu!uunet!mcvax!ukc!edcastle!aiai!jeff From: jeff@aiai.uucp (Jeff Dalton) Newsgroups: comp.lang.misc Subject: Re: Language Tenets (was Re: Double Width Integer Multiplication and Division Message-ID: <747@skye.ed.ac.uk> Date: 16 Aug 89 19:43:44 GMT References: <57125@linus.UUCP> <1989Jun24.230056.27774@utzoo.uucp> <1207@quintus.UUCP> <1406@l.cc.purdue.edu> <2568@etive.ed.ac.uk> <605@skye.ed.ac.uk> <1219@quintus.UUCP> <713@skye.ed.ac.uk> <1242@quintus.UUCP> Sender: news@aiai.ed.ac.uk Reply-To: jeff@aiai.uucp (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 32 In article <1242@quintus.UUCP> pds@quintus.UUCP (Peter Schachte) writes: >My point was that if you allow some expressions to return multiple >values and not allow those to be nested, and still allow the other kind >that can be nested but can't return multiple values, you really confuse >the idea of an expression. Why? >Especially if you can't immediately tell which kind an expression is >by looking at it. When I see "f(x)", I don't know immediately what kind of value it returns. Why should the number of values be such a special case? Of course, it's a less familiar case. But is it much more than that? >Better You think it's better; I think it's not. Now what? >to come up with a semantics for handling a multiple-value >expression inside another expression, or as an argument to a function. Multiple-value-call. Sometimes you have to put the results in variables. What's wrong with that? Use variables all the time anyway. >Or just forget multiple values and pass a pointer to where to put the results. Thus using assignments when they aren't necessary, worrying about aliasing, etc.