<?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="2002/07/d6cc835c30bdf5961ac017a3513d4c19"
  from="John Max Skaller &lt;skaller@o...&gt;"
  author="John Max Skaller"
  date="2002-07-28T01:46:42"
  subject="Re: [Caml-list] equi-recursive Fold isomorphism"
  prev="2002/07/1965eaa1e57e08ccf423e4415d99cd48"
  next="2002/07/0cb29bb0ea374d69ebccf8accd5a096d"
  prev-in-thread="2002/08/3120d6d86c63690a934a6e153bbab64f"
  next-in-thread="2002/07/0b573ce0f42e95b4d4fbedbd027299d1"
  prev-thread="2002/07/31df5f956e055f23defa7f42b31cd382"
  next-thread="2002/07/0cb29bb0ea374d69ebccf8accd5a096d"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] equi-recursive Fold isomorphism">
<msg 
  url="2002/07/b44d83525a337150d2d807ee742cdfac"
  from="John Max Skaller &lt;skaller@o...&gt;"
  author="John Max Skaller"
  date="2002-07-27T17:32:25"
  subject="[Caml-list] equi-recursive Fold isomorphism">
<msg 
  url="2002/07/4f9bb8f68563eae0df616c5312061cd5"
  from="Alain Frisch &lt;frisch@c...&gt;"
  author="Alain Frisch"
  date="2002-07-27T19:44:01"
  subject="Re: [Caml-list] equi-recursive Fold isomorphism">
<msg 
  url="2002/08/53ed9625fb1f595602c7030ddf5acc8e"
  from="John Max Skaller &lt;skaller@o...&gt;"
  author="John Max Skaller"
  date="2002-08-01T14:49:45"
  subject="[Caml-list] Question about distribution">
<msg 
  url="2002/08/214fa7d010269acc80ff246b88085cea"
  from="Xavier Leroy &lt;xavier.leroy@i...&gt;"
  author="Xavier Leroy"
  date="2002-08-01T15:48:47"
  subject="Re: [Caml-list] Question about distribution">
</msg>
<msg 
  url="2002/08/3120d6d86c63690a934a6e153bbab64f"
  from="Daniel de Rauglaudre &lt;daniel.de_rauglaudre@i...&gt;"
  author="Daniel de Rauglaudre"
  date="2002-08-03T17:35:36"
  subject="Re: [Caml-list] Question about distribution">
</msg>
</msg>
<msg 
  url="2002/07/d6cc835c30bdf5961ac017a3513d4c19"
  from="John Max Skaller &lt;skaller@o...&gt;"
  author="John Max Skaller"
  date="2002-07-28T01:46:42"
  subject="Re: [Caml-list] equi-recursive Fold isomorphism">
<msg 
  url="2002/07/0b573ce0f42e95b4d4fbedbd027299d1"
  from="Alain Frisch &lt;frisch@c...&gt;"
  author="Alain Frisch"
  date="2002-07-28T20:15:02"
  subject="Re: [Caml-list] equi-recursive Fold isomorphism">
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
Alain Frisch wrote:

&gt;My Recursive module uses the same technique; it may do what you want:
&gt;http://www.eleves.ens.fr:8080/home/frisch/soft#recursive
&gt;
Thanks!  

Hmmm: Ocaml 3.04+15 with -rectypes


# let rec x = (1,(1,(1,x)));;
val x : int * (int * (int * 'a)) as 'a =
 ....

Seem like Ocaml doesn't minimise the type, but:


let rec y = (1,y);;

x = y;;

Works correctly (so it knows the two types are comparable).
Interestingly, the answer is false: both data structures 
consist of an infinite stream of 1's, represented by
cycles of distinct lengths. No item by item comparison
could reveal any distinction: the infinite tree expansions
of the data structures are the same. Is Ocaml's answer correct?


-- 
John Max Skaller, mailto:skaller@ozemail.com.au
snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia.
voice:61-2-9660-0850




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

