<?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/170ac6b47d277d99b96d66bf01c66159"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T18:26:41"
  subject="Re: [Caml-list] GC and file descriptors"
  prev="2003/11/7c3899ebb5f7f6ba2df0d72cb54df2df"
  next="2003/11/1f843d69c3b53aee4f8ffa9b84709d5f"
  prev-in-thread="2003/11/963b4c0a2618c5cbed608513b6c13808"
  next-in-thread="2003/11/f41c74c52217a4b52937c238600a66f3"
  prev-thread="2003/11/1d6c84161cf48d3019d6d8455ef366b7"
  next-thread="2003/11/d2b9839832e65a956bdcb77f959a9628"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b7b5144ae80803da62864d5c58f8efba"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-13T00:51:25"
  subject="[Caml-list] GC and file descriptors">
<msg 
  url="2003/11/82be33b4c38a6ecc9791e7d4685c2c3c"
  from="David Fox &lt;david.fox@l...&gt;"
  author="David Fox"
  date="2003-11-13T01:18:39"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/631039834749c167a3b7d886541558a1"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-13T04:09:18"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/ec1f30cb4393e6b91eb605d2eff84211"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-14T13:42:28"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/36e5db1bbb396e56d99b6cef6d8e9cce"
  from="Christophe Raffalli &lt;Christophe.Raffalli@u...&gt;"
  author="Christophe Raffalli"
  date="2003-11-14T14:56:42"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/a38be990a94d1040e4c89dc168b1a767"
  from="Dmitry Bely &lt;dbely@m...&gt;"
  author="Dmitry Bely"
  date="2003-11-14T20:25:29"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/3db3a9a38fbd3d1184ab2e4c8b94dcc1"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-14T20:49:24"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/02489bb50f9a8ec14ffcd298c9d1d353"
  from="Dmitry Bely &lt;dbely@m...&gt;"
  author="Dmitry Bely"
  date="2003-11-15T01:49:04"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/ee4c88bfca179439d4a5109c61ef2935"
  from="Eric Dahlman &lt;edahlman@a...&gt;"
  author="Eric Dahlman"
  date="2003-11-14T20:55:20"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b7cc46d47b434587bbcf1df443cfff70"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-14T21:22:12"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/489bd6bb052f90989375079e3ea60970"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-14T21:36:57"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/5b5397919678dfc28cc8df6c4d10c2b9"
  from="Max Kirillov &lt;max630@m...&gt;"
  author="Max Kirillov"
  date="2003-11-15T02:33:00"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f554c8bf262b396bc66312d9ac53cda8"
  from="Mike Furr &lt;mike.furr@u...&gt;"
  author="Mike Furr"
  date="2003-11-15T02:49:12"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b493287745c594a95529ed8209a29bb2"
  from="tim@f..."
  author="tim@f..."
  date="2003-11-16T05:22:13"
  subject="[Caml-list] Bugs from ignoring errors from close (was Re: GC and file..) ">
</msg>
</msg>
<msg 
  url="2003/11/debf6e9ed7d5984878e535ea30480920"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-15T02:58:06"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/8be6ea78b578fa8c2341ebc9f2c31fa6"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-17T14:19:29"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1f8e4e58eceb62ce8dab1f73d0ea4930"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-17T19:18:52"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/a49610eb6cb143bfed1a1d2e74b41247"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-14T18:35:27"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b19a3078409434630cc80062bedc8612"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-15T15:17:06"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/9b0244ade12acfa891f53e5e6aacaba5"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-15T15:56:32"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/8e54b37131353301445586d42c53db53"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-15T18:31:52"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/70cd72a7b2227f219c8b692c66b90c53"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-15T20:31:59"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/ba43edee4aa4d5a6cfa721deee8ef65e"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-16T18:21:37"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1041b7ee7f6bc3556e3c456996972c46"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-17T19:16:08"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/61d4387625276e01c033f4a55e71b3ab"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-17T19:26:14"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f54c7ead3b38524945a849ab201fa18c"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T14:50:18"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/417d41af81c0822cf28c19cedfb938e3"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-18T17:51:54"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/dad10f492cd6ac379fbc547aff306762"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-18T20:18:01"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/25032c9635ecaf7b8134a04c4fda8221"
  from="Florian Hars &lt;hars@b...&gt;"
  author="Florian Hars"
  date="2003-11-20T07:37:05"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/d708e5671623d9731257696b418a4325"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-17T20:21:22"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/71a9f6b1c9c662f86ec7cd16addcc659"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-17T23:03:21"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/3b5d525e1b8a82b5d9b47af2becf951a"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-18T12:05:20"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/91822d5d4320dfb31e24e305196b9f7b"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T16:20:41"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/7c3899ebb5f7f6ba2df0d72cb54df2df"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T18:10:28"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/dbb9601c40ec7ac824b64fa9e235c4a0"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T18:56:15"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/6fad5fcfc55b6e8cdb865af4a5e2b4f1"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-18T20:02:10"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/6f1bf356c16673cde871ddc46d9abcac"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T21:20:43"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/6a58f222b578d0b0f7cb8561566cec30"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T13:26:36"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/20c07ee429bad45453d88f995a3caeda"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-19T13:55:20"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/3f1c78ebb7740dc9ad093b0f14406823"
  from="Samuel Lacas &lt;Samuel.Lacas@t...&gt;"
  author="Samuel Lacas"
  date="2003-11-19T14:27:08"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/27a305d4ac2ed8a10be76517de11a07e"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T15:48:12"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/010fc09d1cd4ec0f7efc96e247d27af1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T16:28:47"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/2940548b2e6a38f07c563e5a6059583c"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T18:00:42"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/661c558d464c52c6ab88bb972c1700da"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-18T21:29:03"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/a1c7069d3da76af770d6e27018f316fe"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T23:07:33"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/23804d16eeafe036937c41158d0df62f"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T23:22:26"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/bf918f86c037ff4570e06d290158b23e"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:49:38"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/2f531e5e78fe56a90964318c758a3fa2"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-19T03:58:03"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/db22f49258f754d0d82c575b9b1774d1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:35:55"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/d99718d682bd4634648b51390ee551c1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:01:41"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/f540af8754e0e4576f7628c9163508ed"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:03:17"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1fc3071570c0aa2125286ffc01a2769a"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T16:37:12"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1a12be5c405add80b63a5724e27cd6a1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-20T06:15:16"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b83d1a42be5aa47aadca87e4c89caa44"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-20T07:37:52"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/e5e41df3576833acafd3685c7d7db655"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T16:12:49"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/963b4c0a2618c5cbed608513b6c13808"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-18T16:50:04"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/170ac6b47d277d99b96d66bf01c66159"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T18:26:41"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f41c74c52217a4b52937c238600a66f3"
  from="Xavier Leroy &lt;xavier.leroy@i...&gt;"
  author="Xavier Leroy"
  date="2003-11-18T19:24:41"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/390851363ffd1e4ea5cd2031d9b8e93c"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T23:49:19"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/05a80cbff7462f48efb0099be5f115d8"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:37:29"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/3636e64c2b247bc9d13a82568cdc74ec"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T02:26:58"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1f9ba0a60b92c9a020dd376b9293ba89"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T11:44:40"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/faf84db302ab3f23634153343f972968"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T16:29:52"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/370c857e140e18498140b6387a2b7b68"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-20T06:17:59"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/41b7013f566a30eb640361b86fe8d780"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-20T15:14:33"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/4e27bcaec46233d5fc437d5a423da314"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-19T02:37:04"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/10d56652fe8cb3bcfa68a014c741e8d0"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:34:17"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/4a1286aa572b6885ee480b76f52745f6"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T16:44:14"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/eaaec57e33cdcaa005d578a3e63f86c2"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-20T06:06:20"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/04300f605ed957815b39803a76da9c66"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-19T17:01:42"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/508e13618a30beb233bc6635061d850b"
  from="Jim &lt;jim@f...&gt;"
  author="Jim"
  date="2003-11-22T02:42:36"
  subject="[Caml-list] AutoMLI (Was: GC and file descriptors)">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/bb978f3ce98cdac20ca12393eabf4bc8"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:34:26"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1fb17a6a3a3e2af94885d2f0be2d074c"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-19T02:47:41"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/1f843d69c3b53aee4f8ffa9b84709d5f"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T18:47:18"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/e3b9293ae73acdefb63429375a71b8df"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:33:58"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f64182ecc7bbb285e9c25c5b0ca9323b"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T02:26:03"
  subject="Design by Contract, was Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b3d062d976348aa2b2d87a4f7413f239"
  from="Jacques Carette &lt;carette@m...&gt;"
  author="Jacques Carette"
  date="2003-11-19T02:57:19"
  subject="Re: Design by Contract, was Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/8a3362cfd5532b02e247e7621e230419"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:27:51"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/13cb3d8ea002248514f6e558dd2a3e36"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T14:43:16"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/24eeca7414b913696c8a08cff82b53e9"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-19T16:54:11"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/d875185cbeb45c60bf69b69aefe16537"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-19T17:18:13"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/5605d0ab6ed57e5fb3a748efd37ad66a"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-19T21:45:06"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/c17081509d394ca21766e84f62f3f830"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-19T23:10:04"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/788a2c28afa9e9bc3bcf18dd0c33d1ab"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-20T00:56:51"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f5b0e699d56b25234213fa5e05a7f3cb"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-20T09:42:33"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/0c2873b11bfce0b4930b5fb67c57e094"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T18:03:34"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/db16d06e7da03770e3a7746d4c558b49"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-18T21:24:05"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/690c4fcd19c29e88b0d6e2472aa032f5"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:01:35"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/db0d9c3e2f8bd31fba3e04524605334f"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-17T22:38:11"
  subject="OCaml popularity [was: Re: [Caml-list] GC and file...]">
</msg>
<msg 
  url="2003/11/4e363c2f0874bf81db3c9a6051a5ad48"
  from="Jed Davis &lt;jdev@p...&gt;"
  author="Jed Davis"
  date="2003-11-18T20:45:09"
  subject="[Caml-list] Re: GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/7de0105b14c8ebdd22c349246625930a"
  from="Nicolas George &lt;nicolas.george@e...&gt;"
  author="Nicolas George"
  date="2003-11-13T01:20:05"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/f85e65bf7ad498b59e1d3d5df9b95d53"
  from="Mikael Brockman &lt;phubuh@p...&gt;"
  author="Mikael Brockman"
  date="2003-11-13T20:19:02"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</thread>

<contents>
Martin Berger wrote:
&gt;&gt; What alternatives are there?
&gt;&gt; One is to  have exception specifications on functions,
&gt;&gt; but that is known not to work very well. [...]
&gt; 
&gt; but isn't this snowballing exactly what you want?

I think it is.  It's very reassuring to know that the compiler can tell 
me whether I've left any exceptions unhandled, just as it can tell me 
whether I've neglected to provide a suitable return value for a function.

 From experience working on fairly large programs in Java, I can say (at 
the risk of being pelted with stones on this list) that I think the way 
Java handles this works pretty well.  You can avoid having any methods 
specify more than two or three exceptions by using hierarchies of 
exception subtypes (e.g. IOException has subtypes FileNotFoundException, 
SocketException and so on) and by using nested exception objects (e.g. a 
FooSubsystemException can contain an instance of any other exception, 
and can thus be handled by a method that only specifies 
FooSubsystemException).  Nested exceptions have the useful property that 
when you get a stack trace from an exception (e.g. in order to log it), 
it recursively includes the stack traces of any nested exceptions.

In Caml, as in C++, I'm left with a lingering anxiety about what 
exceptions might be thrown (particularly by libraries, including the 
standard libraries) but not handled except by a catch-all 'unhandled 
exception handler', at which point it's too late to do anything useful 
with them.  (And Caml exceptions lack stack traces.)

Annoying problems arise in Java with unchecked exceptions; things like 
IndexOutOfBoundsException (which can be thrown by any array access) or 
ArithmeticException (e.g. division by zero) don't have to be declared in 
exception specifications, and therefore never are.  Bugs often result in 
programs crashing with an unhandled NullPointerException (which of 
course can't happen in Caml).  Ideally, the number of possible unchecked 
exceptions should be kept to an absolute minimum; I think there are too 
many in Java.

I wish I knew what the ideal solution was, but I think Caml could do 
worse than to implement a Java-like approach.  It seems to me that this 
would be more consistent with Caml's overall focus on type safety than 
its current C++-like approach.

 &gt; i always wonder if problem would simply disappear with more
 &gt; expressive typing systems that allow concise specification
 &gt; of the normal case for exceptions -- where an piece of code is
 &gt; just a conduit for exceptions -- and appropriate grouping of
 &gt; exceptions, for example by subtyping.

If the type of a function included its exception specification, could 
Caml infer exception specifications?  If so, perhaps exception 
specifications could be added to the language without breaking backwards 
compatibility.  If I wrote this:

let divide x y = x / y ;;
let do_work x y = divide x y ;;

the type of both functions would be inferred as having an exception 
specification containing Division_by_zero.  Now suppose I wrote the 
following (meaning that the function do_work explicitly specifies the 
exception Sys_error):

let do_work x [ Sys_error ] = let z = (* ... *) in divide x z ;;

I would get a compile error, because I should have written:

let do_work x [ Sys_error; Division_by_zero ] = let z = (* ... *) in 
divide x z ;;

When using libraries that were written before the introduction of 
exception specifications, I could verify that all library exceptions 
were handled, by calling a library function in the following way:

let do_work x [] = (* Call some library functions that don't have 
explicit exception specifications *) ;;

The compiler would then tell me which exceptions I'd failed to handle.

Does this seem feasible?

Ben

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

