Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!news.moneng.mei.com!hookup!olivea!news.hal.COM!decwrl!adobe!macb307.mv.us.adobe.com!user
From: mhamburg@mv.us.adobe.com (Mark Hamburg)
Subject: Re: call by value, again
Message-ID: <mhamburg-141194180715@macb307.mv.us.adobe.com>
Followup-To: comp.lang.scheme
Sender: usenet@adobe.com (USENET NEWS)
Organization: Adobe Systems, Inc.
References: <3a0mh8$prv@agate.berkeley.edu> <BLUME.94Nov11170247@dynamic.cs.princeton.edu> <BLUME.94Nov13133704@dynamic.cs.princeton.edu>
Date: Tue, 15 Nov 1994 02:11:31 GMT
Lines: 23

In article <BLUME.94Nov13133704@dynamic.cs.princeton.edu>,
blume@dynamic.cs.princeton.edu (Matthias Blume) wrote:

> 
>    >``The variable x is bound to location L by the
>    >environment U, which is then mapped to 3 by the store S. Therefore, by
>    >definition, the value of x is 3.  U ("x") = L, S (L) = 3 ==> E("x") = 3.''
> 
>    Yes, this is very clear and precise.  But I can't imagine myself trying to
>    teach it to a beginning programmer.  Are you suggesting that this is the only
>    intellectually honest way to explain how Scheme works?  If not, I'd be
>    grateful (truly -- I'm not being sarcastic) for a more accessible model.
> 
> Well, this is *a* correct model.  I would also venture to say that it
> is (one of) the ``least complicated while still correct'' model(s),
> but obviously I can't prove this (mainly due to the fact that I can't
> define the ``less complicated'' relation for models :).

And if you are worried about how to explain it to people from a Pascal/C
background, just use the term pointer in place of location.  (Actually, a
pointer is a thing which indicates a location, but...)

Mark
