From: Jean-Pierre Rosen <rosen@EMAIL.ENST.FR>
Subject: Re: "Object" types vs. "Value" types
Date: 1996/03/26
Date: 1996-03-26T00:00:00+00:00 [thread overview]
Message-ID: <199603261342.OAA03546@email.enst.fr> (raw)
At 07:24 25/03/1996 -0500, you wrote:
>"1) "Value semantics" if Y:=X means that the contents of X is copied into Y.
>2) "Reference semantics" if Y:=X means that from now on, X and Y designate
>the same object."
>
>I think this can be a bit confusing, because it describes what are high
>level notions in terms of one particular implementation approach.
>
>Now of course, "as if" applies, so what is meant for example is that
>"Value Semantics" if Y := X means that it is AS IF the contents of X
> is copied into Y.
>
>[...] explanation of lazy assignment deleted
>
>The distinction is indeed critical, but no wonder you got confused talking
>about assignment if you immediately started talking about low level
>implementation details (use of pointers, and copying of values on
>assignment). You need to describe the difference at an operational
>semantic level, as I have done here, rather than at an implementation
>level.
>
Yes, of course, I was talking about abstract behaviour. Note that I
described it in terms of *private* types (which is actually totally
irrelevant to the discussion), just to mean that I intended to described a
perceivable behaviour, not an implementation issue. That's also why I tried
to give an example of non-pointer reference semantics.
So the real issue is the abstract meaning of assignment. Note for example
that you can consider pointers as a "value" type (the value being the
designation of an object), or directly as a "reference" type. Grossly, this
would be the former case for a visible pointer type, and the latter for a
private pointer type.
+------------------------------------o-------------------------------------+
| P-mail: | E-mail: rosen@enst.fr |
| ADALOG - 27 avenue de Verdun | Tel: +33 1 46 45 51 12 |
| 92170 Vanves - FRANCE | Fax: +33 1 46 45 52 49 |
+------------------------------------o-------------------------------------+
next reply other threads:[~1996-03-26 0:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-03-26 0:00 Jean-Pierre Rosen [this message]
-- strict thread matches above, loose matches on Subject: below --
1996-03-25 0:00 "Object" types vs. "Value" types Jean-Pierre Rosen
1996-03-25 0:00 ` Robert Dewar
1996-03-26 0:00 ` Michel Gauthier
1996-03-27 0:00 ` Richard A. O'Keefe
1996-03-27 0:00 ` Robert Dewar
1996-03-27 0:00 ` Michel Gauthier
1996-03-15 0:00 Comments on generic stack? Michel Gauthier
1996-03-20 0:00 ` "Object" types vs. "Value" types John G. Volan
1996-03-20 0:00 ` John DiCamillo
1996-03-21 0:00 ` Comments on generic stack? John G. Volan
1996-03-21 0:00 ` "Object" types vs. "Value" types david scott gibson
1996-03-25 0:00 ` John G. Volan
1996-03-28 0:00 ` david scott gibson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox