This site is updated infrequently. For up-to-date information, please visit the new OCaml website at ocaml.org.

[Caml-list] Semantics of physical equality
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
 Date: 2004-02-28 (10:00) From: Michal Moskal 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

```