Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!swrinde!pipex!dircon!rheged!simon
From: simon@rheged.dircon.co.uk (Simon Brooke)
Subject: aesthetics of multiple-value-bind (was Re: Urgent! Help! Return more than one argument.)
Message-ID: <D0rs6v.1q0@rheged.dircon.co.uk>
Organization: none. Disorganization: total.
References: <3c3es0$19s@masala.cc.uh.edu> <D0JGt5.G0@rheged.dircon.co.uk> <19941212T054916Z.enag@naggum.no>
Date: Tue, 13 Dec 1994 22:08:54 GMT
Lines: 50

In article <19941212T054916Z.enag@naggum.no>,
Erik Naggum  <erik@naggum.no> wrote:
>Simon Brooke
>|   You can ignore Guy Steele's claim that multiple-value-bind is cleaner.
>|   He is entitled to his own aesthetics.
>
>this also applies to you, of course.  I choose to ignore _your_ aesthetics.

Fair enough, you're entitled... de gustibus nil disputandem est, or
some such thing (my latin is even worse than my LisP).

>|   In other words it's a machine oriented hack, and nothing to do with
>|   clenliness of language, but it works and does (on present generation
>|   machines) save machine resources, so it's worth doing.
>
>this is a minor issue compared to the availability of a standard idiom to
>return multiple values.  

Oh, come now, you can't have that. If you return a collectivity of
values from a function, then the standard idiom in LisP for
representing a collectivity of values is a list. It is because the
multiple-values mechanism is non-orthogonal with the rest of LisP that
I consider it inaesthetic.

>think of it as functions that both take and return
>&optional values.  

&optional values are passed in as the tail of a list, not through a
special multiple-values-pass form. And, hideous as keywords in lambda
lists are, they do at least make visible what is going on, whereas
(unless you have the source code available to you) m-v-b obscures it.

>that "present generation hardware" is favoring the
>approach can certainly not be used as an argument _against_ it.

On the contrary, it's an argument for it, which I stated. I wouldn't
argue *against* using m-v-b on LisPs that have it. It is, as I pointed
out, a useful pragmatic hack.

><flamebait>save your pure aesthetics and lack of convenient forms of
>expression for Scheme.</flamebait>

dis fish ain't risin'


-- 
--------simon@rheged.dircon.co.uk

	Currently the 90th most egotistical person in uk.politics

