<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/11/a13ba4cc36c14e7d7021336bcbc04024"
  from="William Lovas &lt;wlovas@s...&gt;"
  author="William Lovas"
  date="2003-11-12T00:32:48"
  subject="Re: [Caml-list] Strange physical equality behavior"
  prev="2003/11/978db28d889e2aac657b467588e07c8c"
  next="2003/11/d0eed6c769ba31ae73ab39ba3e7c5d4f"
  prev-in-thread="2003/11/fcbf42708ad0d737e60ce7569d4ac60e"
  next-in-thread="2003/11/2fe7f757bc7b5d10efc2915878644160"
  prev-thread="2003/11/c1e744886a3affa901d1dcaf0e350359"
  next-thread="2003/11/09e582c31663ff8716cce84f773350e2"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/01e1b29e39f68e928829da73207a8c30"
  from="Oleg Trott &lt;oleg_trott@c...&gt;"
  author="Oleg Trott"
  date="2003-11-09T18:34:28"
  subject="[Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/a33bcd6e98a9ec945c42f2e24c4f7045"
  from="Jacques Garrigue &lt;garrigue@k...&gt;"
  author="Jacques Garrigue"
  date="2003-11-10T01:33:39"
  subject="Re: [Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/a4fa114bc35fac9ad8b2bce95978fe86"
  from="Oleg Trott &lt;oleg_trott@c...&gt;"
  author="Oleg Trott"
  date="2003-11-10T02:25:58"
  subject="Re: [Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/9230ae0d897716b56921b56f5d31f9fe"
  from="Jacques Garrigue &lt;garrigue@k...&gt;"
  author="Jacques Garrigue"
  date="2003-11-10T08:29:32"
  subject="Re: [Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/31b3758dc01ba9496581b9fd7e7c1e48"
  from="Michal Moskal &lt;malekith@p...&gt;"
  author="Michal Moskal"
  date="2003-11-10T18:41:57"
  subject="Re: [Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/fc1129f81c56884cc7eeba1ab3565fec"
  from="Jacques Garrigue &lt;garrigue@k...&gt;"
  author="Jacques Garrigue"
  date="2003-11-11T01:35:16"
  subject="Re: [Caml-list] Strange physical equality behavior">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/50f653064d6e45748cb96c80bc084526"
  from="Oleg Trott &lt;oleg_trott@c...&gt;"
  author="Oleg Trott"
  date="2003-11-11T06:48:41"
  subject="Re: [Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/fcbf42708ad0d737e60ce7569d4ac60e"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-11T16:47:13"
  subject="Re: [Caml-list] Strange physical equality behavior">
<msg 
  url="2003/11/a13ba4cc36c14e7d7021336bcbc04024"
  from="William Lovas &lt;wlovas@s...&gt;"
  author="William Lovas"
  date="2003-11-12T00:32:48"
  subject="Re: [Caml-list] Strange physical equality behavior">
</msg>
</msg>
<msg 
  url="2003/11/2fe7f757bc7b5d10efc2915878644160"
  from="brogoff@s..."
  author="brogoff@s..."
  date="2003-11-11T17:08:25"
  subject="Re: [Caml-list] Strange physical equality behavior">
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
On Tue, Nov 11, 2003 at 08:46:56AM -0800, David Brown wrote:
&gt; On Tue, Nov 11, 2003 at 01:48:22AM -0500, Oleg Trott wrote:
&gt; &gt; On Sunday 09 November 2003 08:33 pm, Jacques Garrigue wrote:
&gt; &gt; &gt;  On mutable structures, [e1 == e2] is true if and only if
&gt; &gt; &gt;    physical modification of [e1] also affects [e2].
&gt; &gt; 
&gt; &gt; By the way, either "mutable structures" or "physical modification" need
&gt; &gt; to be clarified, because if (int ref list) is "mutable" then the above
&gt; &gt; is wrong:
&gt; 
&gt; If you take structure to mean a single data type, rather than a more
&gt; complicated data structure, then it is true.

Well, what do you mean by "a single data type", then?  Surely a record is a
single data type, but ...

    type r = { mutable a: int; mutable r: r }

    let rec r1 = { a = 5; r = r2 }
        and r2 = { a = 7; r = r1 }

Surely you wouldn't argue that this is an immutable data structure, either
-- it contains nothing *but* mutable fields!  And yet,

    r1.a &lt;- 6

also "affects" r2, but r1 != r2.  (Admittedly, though, the ambiguity may
lie in the usage of the word "affects".)

*shrug* Maybe it's a bit contrived, but i would err on the side of caution
and say that the documentation should be made clearer.

William

-------------------
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

</contents>

</message>

