<?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/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"
  prev="2003/11/4e27bcaec46233d5fc437d5a423da314"
  next="2003/11/b3d062d976348aa2b2d87a4f7413f239"
  prev-in-thread="2003/11/bb978f3ce98cdac20ca12393eabf4bc8"
  next-in-thread="2003/11/1f843d69c3b53aee4f8ffa9b84709d5f"
  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; my (limited) experience with java suggests that in large projects one of
&gt; the following happens:
&gt; 
&gt; * all exceptions specs are written out in detail (ie no grouping using
&gt;   subtyping etc). in this case, way too much code is nothing but exception
&gt;   specs.
&gt; 
&gt; * the subtyping approach is used. in this case exception specifications
&gt;   are too imprecise;
&gt; 
&gt; * something that seems like what you refer to as nested exceptions where
&gt;   you catch exceptions at every layer and convert them into some other
&gt;   exception. in this case you litter the code with catch statements
&gt;   that seem superflouos.

The second and third approaches can indeed be taken to an extreme in 
order to render exceptions completely meaningless.  However, I think 
there are reasonable alternatives.  In general, I think the design of 
exception types should be guided by the need to handle different errors 
differently.

When certain errors occur, a program can usefully try to recover, 
perhaps by waiting a little while and trying again.  Other kinds of 
errors need to be handled by giving up and letting a person sort it out. 
  Depending on what went wrong, that person might be an ordinary user or 
a system administrator, and the sort of information they'll want to be 
given will vary accordingly.

Exceptions propagate upwards from low-level subsystems into higher-level 
ones; at some point, the program must take some action in response to 
the exception.  Often this is most reasonably done at the point where a 
'unit of work' (something that would be meaningful to the user) was 
initiated.  At that point, the program doesn't care what the precise 
reason for the exception was; it only needs to know which sort of action 
to take.  Retry?  Pop up a dialog box to tell the user that the input 
was bad and needs to be corrected?  Log the error as a bug with a full 
stack trace, and send an email to the system administrator?  With some 
programs, the user will want to be able to configure which errors are 
handled in which ways.  This suggests that each type of problem that 
needs (or may need) distinct error-handling behaviour also needs its own 
exception type.

For some programs, it is enough to define three general exception types: 
(1) error caused by bad user input, (2) error caused by the failure of 
some external resource, such as a network or a database, and (3) error 
caused by a bug in the program (assertion failure).  (A subtype of (2), 
indicating that it may be worth retrying, can be useful.)  When a more 
specific exception (such as an I/O error) is caught by a low-level 
subsystem, it can be wrapped in an exception of one of these three 
general types, and allowed to propagate upwards until it reaches the 
function that initiated the unit of work.  That function can pass the 
exception to a subsystem that knows about the user's error-handling 
configuration, in order to determine whether to retry or just report the 
error.  The error-handling subsystem can also take care of reporting the 
error in the appropriate way, according to its type.  Since the original 
low-level exception is still there, wrapped in the more general 
exception, reporting can be as detailed as needed.

For other programs, these simple categories will be insufficient, but 
you get the idea.

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>

