From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 7E311BC6C for ; Mon, 28 Jan 2008 21:03:31 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq4HAMPDnUfUnw7Xh2dsb2JhbACCNo1zAQEBCAopmxM X-IronPort-AV: E=Sophos;i="4.25,261,1199660400"; d="scan'208";a="21903389" Received: from fhw-relay07.plus.net ([212.159.14.215]) by mail4-smtp-sop.national.inria.fr with ESMTP; 28 Jan 2008 21:03:31 +0100 Received: from [80.229.56.224] (helo=beast.local) by fhw-relay07.plus.net with esmtp (Exim) id 1JJaCY-0006KJ-2z for caml-list@yquem.inria.fr; Mon, 28 Jan 2008 20:03:30 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] [OSR] OCaml Standard Recommandation Process Date: Mon, 28 Jan 2008 19:58:01 +0000 User-Agent: KMail/1.9.7 References: <200801281525.12651.jon@ffconsultancy.com> <20080128.174520.980688744689375681.Christophe.Troestler+ocaml@umh.ac.be> <95513600801280851x728c1fa8ta0ba67c902c0aa7c@mail.gmail.com> In-Reply-To: <95513600801280851x728c1fa8ta0ba67c902c0aa7c@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200801281958.01875.jon@ffconsultancy.com> X-Plusnet-Relay: ca64444d1e8adc73f06652e01eee370b X-Spam: no; 0.00; ocaml:01 andrieu:01 ocaml:01 datatype:01 frog:98 wrote:01 caml-list:01 finalizing:03 implicit:03 scheme:05 interface:06 olivier:07 standard:07 function:08 mean:08 On Monday 28 January 2008 16:51:17 Olivier Andrieu wrote: > It's basically the same. But with "use" (or "using" in C#), you don't > have to write the "with_open_in" wrapper in the first place because > the finalizing function is implicit, it's the method called "Dispose". Exactly. > Using this scheme with OCaml would mean that any resource-using > datatype has to be an object (not really the case right now). Well, anything that wanted to exploit this would need to be an object. We could provide a completely new interface and also maintain backwards compatibility. -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e