<?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/78e8cd539dbccb9187e2f80b19967a67"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-03T14:02:15"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;"
  prev="2003/11/5c281f3bb5dfafa71510a656eb10a809"
  next="2003/11/1f8bcb5f83d24c8fcaaeb80de79389aa"
  prev-in-thread="2003/11/040e05d79a919ba9c86528abb83627d1"
  next-in-thread="2003/11/1f8bcb5f83d24c8fcaaeb80de79389aa"
  prev-thread="2003/10/ed044d47f888bfffb6ffeacf6d6db1b0"
  next-thread="2003/10/7efb2636e8baabcc0cb88a95c395b229"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/10/c1d88aa9ad04cea7789936b975e4db80"
  from="Stefano Zacchiroli &lt;zack@b...&gt;"
  author="Stefano Zacchiroli"
  date="2003-10-29T10:42:51"
  subject="[Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/10/978e0f49fa4d6d930a84eda296ee6e7c"
  from="Jacques Garrigue &lt;garrigue@k...&gt;"
  author="Jacques Garrigue"
  date="2003-10-29T11:39:46"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/10/53ed181ea2d15c4df636927cc0a1c6e1"
  from="Stefano Zacchiroli &lt;zack@b...&gt;"
  author="Stefano Zacchiroli"
  date="2003-10-30T19:55:51"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/10/6f143a8ee65352584200d7f3b19c3dd7"
  from="William Lovas &lt;wlovas@s...&gt;"
  author="William Lovas"
  date="2003-10-31T07:50:31"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/11/040e05d79a919ba9c86528abb83627d1"
  from="Stefano Zacchiroli &lt;zack@b...&gt;"
  author="Stefano Zacchiroli"
  date="2003-11-01T08:22:20"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/11/78e8cd539dbccb9187e2f80b19967a67"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-03T14:02:15"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;">
<msg 
  url="2003/11/1f8bcb5f83d24c8fcaaeb80de79389aa"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-03T14:20:12"
  subject="Re: [Caml-list] undocumented external ... = &quot;%identity&quot;">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
On Saturday, November 1, 2003, at 09:22 AM, Stefano Zacchiroli wrote:

&gt; The fact that Obj.magic _implementation_ depends on the entire
&gt; implementation of the OCaml compiler and runtime, doesn't imply that 
&gt; its
&gt; _interface_ does as well.

Depends on what you mean by "interface".  The _specification_ of 
Obj.magic
depends on many implementation choices of the compiler and runtime.

&gt; If I'm using Obj.magic I'm supposed to know what I'm doing (the 
&gt; examples
&gt; reported in the post you mentioned are significative here) and that I'm
&gt; sure that the type magic I'm doing are correct. In such a case the
&gt; correctness of those magics will change only when the assumption on
&gt; which their correction rely changes, for example a change in the type
&gt; system.

... or a change in the data representations used by the compiler and
runtime.

&gt; Such major changes are usually backward compatibile, if not I suppose
&gt; the Obj.magic forward porting problem will be the minor problem
&gt; programmer will have with a new ocaml release ...

Not true.  We can make changes that break many uses of Obj.magic without
changing the language or the type system.  That's why Obj.magic is not
documented.

-- Damien

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

