From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id D23EDBC48 for ; Thu, 10 Mar 2005 00:42:57 +0100 (CET) Received: from lavoro.terzarima.net (spc1-york1-5-0-cust142.seac.broadband.ntl.com [80.0.45.142]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j29Ngu50031651 for ; Thu, 10 Mar 2005 00:42:56 +0100 Message-ID: To: oliver@first.in-berlin.de, caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: exception safety / RAII From: Charles Forsyth Date: Wed, 9 Mar 2005 23:42:28 +0000 In-Reply-To: <20050309224531.GE321@first.in-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 422F8A00.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 forsyth:01 forsyth:01 unspecified:01 unspecified:01 predictable:01 predictable:01 garbage:01 behaves:01 traded:98 exception:01 define:01 define:01 caml:02 necessarily:02 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.2 X-Spam-Level: >>I'm not a GC-expert, but it seems obvious to me, that a GC frees >>ressources at unspecified time and that also means at unspecified >>time in respect to the code that is executed. i was going to keep out of this, but i suppose i won't. it seems obvious to me, that a GC frees resources at unspecified time not necessarily: it is perfectly possible to define a language so as to define as predictable those things that could be made predictable, and then rely on that when programming. that places the onus on the implementation to do that, of course, and i suppose that might result in inefficiency, but perhaps that can be traded off against other things. garbage collectors exist that can do that, with reasonable efficiency in many contexts. i've used for years a system that behaves in just this way, and it works well, particularly when faults occur. i'm not saying this approach is a universal panacea, or that it's appropriate for caml, just that it is certainly feasible, and it can work well in practice. ``but will it work in theory?'' good question.