Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!europa.eng.gtefsd.com!newsxfer.itd.umich.edu!gatech!howland.reston.ans.net!pipex!uknet!festival!edcogsci!jeff
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Subject: Re: SETF (was Re: Why do people like C? (Was: Comparison: Beta - Lisp))
Message-ID: <Cy5Bv7.JDy@cogsci.ed.ac.uk>
Sender: usenet@cogsci.ed.ac.uk (C News Software)
Nntp-Posting-Host: bute-alter.aiai.ed.ac.uk
Organization: AIAI, University of Edinburgh, Scotland
References: <Cxxwx0.1nC@rheged.dircon.co.uk> <hbakerCy17CC.vx@netcom.com> <Cy3E67.42K@rheged.dircon.co.uk>
Date: Sun, 23 Oct 1994 22:01:55 GMT
Lines: 26

In article <Cy3E67.42K@rheged.dircon.co.uk> simon@rheged.dircon.co.uk (Simon Brooke) writes:
>I'm sorry, I don't think this addresses the real problem. There's a
>fundamental difference between a top-level object which exists in the
>name space, and an anonymous cons cell. It makes a great deal of sense
>to have a homogenous way of changing:
>
>	* the value of a variable;
>	* the value of a property of some name;
>	* the value of an instance variable of some object;
>	* the value of a class variable of some class.

How about a slot in a modifiable object?  That's a paradigm
case, and yet it's not clear that you list it at all.

In any case, the things you list are not all "top-level object[s]
which exist in the name space".  For instance, instance vars are
local to the object.

>My objection to SETF is that the way it alters list structure is
>destructive. As it has become/was intended to become the default way
>of changing values (aluminium book p94), LisP beginners will no longer
>learn the fundamental software engineering principle outlined above,
>so that the perceived power and expressiveness of the language is
>impoverished.

Bull.
