Browse thread
[Caml-list] Semantics of physical equality
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Michal Moskal <malekith@p...> |
| Subject: | Re: [Caml-list] Semantics of physical equality |
On Sat, Feb 28, 2004 at 10:40:34AM +0100, sejourne kevin wrote:
> A definition for mutable structures look ambiguous to
> me:
>
> type test =
> {
> mutable a:int;
> b:int
> };;
>
> let r = {a=0;b=2};;
>
> let x = r and y = r in
> assert((x.a==y.a)&&(x.b==y.b)&&(x==y))
> ;;
>
> Does this always ok ?
Yes, of course. The objects x and y are physically equal (which implies
physical equality of their fields).
However here x == y would fail:
let x = {a = 0; b = 2}
let y = {a = 0; b = 2}
while x.b==y.b && x.a==y.a would succeed.
--
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: When in doubt, use brute force. -- Ken Thompson :: UL++++$ C++ E--- a?
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners