<?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/01/c7db60a6b7108f7caa0b0773e608a824"
  from="Mike Potanin &lt;potanin@m...&gt;"
  author="Mike Potanin"
  date="2003-01-18T15:14:37"
  subject="Re: [Caml-list] let rec"
  prev="2003/01/5826a692c94d64d6a3a75f199aeb2599"
  next="2003/01/9511ec7e9c82e947ddfb16fe055f6d91"
  prev-in-thread="2003/01/5826a692c94d64d6a3a75f199aeb2599"
  next-in-thread="2003/01/9511ec7e9c82e947ddfb16fe055f6d91"
  prev-thread="2003/01/a2655a29f853a3b70108ffd4274e4fa2"
  next-thread="2003/01/b5d0186ce6e333fe2b6c01d25588830a"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] let rec">
<msg 
  url="2003/01/7b6361f24dd6b0d3f8de50aee87acff6"
  from="Vitaly Lugovsky &lt;vsl@o...&gt;"
  author="Vitaly Lugovsky"
  date="2003-01-15T19:15:53"
  subject="[Caml-list] let rec">
<msg 
  url="2003/01/5c69412226d2da8af89577d8948de944"
  from="james woodyatt &lt;jhw@w...&gt;"
  author="james woodyatt"
  date="2003-01-15T19:27:40"
  subject="Re: [Caml-list] let rec">
<msg 
  url="2003/01/a13b46421e57a3e347d0f6a9ef72e5c5"
  from="Vitaly Lugovsky &lt;vsl@o...&gt;"
  author="Vitaly Lugovsky"
  date="2003-01-15T19:54:15"
  subject="Re: [Caml-list] let rec">
</msg>
</msg>
<msg 
  url="2003/01/cb8a88ca7e675f77b1cc337427964d72"
  from="Max Kirillov &lt;max630@m...&gt;"
  author="Max Kirillov"
  date="2003-01-15T20:02:54"
  subject="Re: [Caml-list] let rec">
</msg>
<msg 
  url="2003/01/49346985c07b882018e2ad7569519596"
  from="Mike Potanin &lt;potanin@m...&gt;"
  author="Mike Potanin"
  date="2003-01-16T14:22:20"
  subject="Re: [Caml-list] let rec">
<msg 
  url="2003/01/5826a692c94d64d6a3a75f199aeb2599"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-01-18T12:07:12"
  subject="Re: [Caml-list] let rec">
<msg 
  url="2003/01/c7db60a6b7108f7caa0b0773e608a824"
  from="Mike Potanin &lt;potanin@m...&gt;"
  author="Mike Potanin"
  date="2003-01-18T15:14:37"
  subject="Re: [Caml-list] let rec">
</msg>
<msg 
  url="2003/01/9511ec7e9c82e947ddfb16fe055f6d91"
  from="Vitaly Lugovsky &lt;vsl@o...&gt;"
  author="Vitaly Lugovsky"
  date="2003-01-18T16:22:34"
  subject="Re: [Caml-list] let rec">
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
On Sat, 18 Jan 2003, Damien Doligez wrote:

&gt; On Thursday, January 16, 2003, at 03:38 PM, Mike Potanin wrote:
&gt;
&gt; &gt; The similar problem arises in a case
&gt; &gt; let ring l = let rec r = l@r in r
&gt; &gt; OCaml type system can not understand that the design is safe.
&gt;
&gt; But it is not unconditionally safe.  Its safety depends on how
&gt; you defined the @ function.  O'Caml doesn't want to look at
&gt; the definition of @ because separate compilation is a very
&gt; important feature.

If extend type model compiler can handle this case. The type of @ function
may content information "this function is realy lazy for second argument".
This don't handle all case recurcive data, but impotant case.
Mercury language don't handle all "modes" too :-).

&gt;
&gt; -- 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>

