<?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/6fde813e86b5c311598ecb31e7fe92ba"
  from="tim@f..."
  author="tim@f..."
  date="2002-07-30T15:56:49"
  subject="[Caml-list] Do streams still need to be patched?"
  prev="2002/07/2a2bcb8c76923b4de71a17c6b47bc869"
  next="2002/07/4473ba7d51d430e8719525d0744d943c"
  prev-thread="2002/07/56182841fd4a30e84867112a7203b169"
  next-thread="2002/07/14925b7e035c2f43323671cba585eb03"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Do streams still need to be patched?">
<msg 
  url="2002/07/6fde813e86b5c311598ecb31e7fe92ba"
  from="tim@f..."
  author="tim@f..."
  date="2002-07-30T15:56:49"
  subject="[Caml-list] Do streams still need to be patched?">
</msg>
</thread>

<contents>
I see this comment at the beginning of streams.ml:

(* The fields of type t are not mutable to preserve polymorphism of
   the empty stream. This is type safe because the empty stream is never
   patched. *)

Is this still true?  I can easily imagine that it used to be true if
and when OCAML had weak type variables, but it doesn't anymore.

If it isn't true any more, then I think it would be possible to make a version
of streams that's as fast and functional as what's there now, and it
would allow consing streams to interoperate properly with streams
derived from functions or channels.

-- 
Tim Freeman       
tim@fungible.com
GPG public key fingerprint ECDF 46F8 3B80 BB9E 575D  7180 76DF FE00 34B1 5C78 
-------------------
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>

