From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA01995; Thu, 15 Jul 2004 18:25:03 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA02431 for ; Thu, 15 Jul 2004 18:25:01 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i6FGOwEV019954 for ; Thu, 15 Jul 2004 18:24:59 +0200 Received: from [192.168.1.200] (ppp216-145.lns1.syd3.internode.on.net [203.122.216.145]) by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id i6FGOq4Y091930; Fri, 16 Jul 2004 01:54:53 +0930 (CST) Subject: Re: [Caml-list] assertions or exceptions? From: skaller Reply-To: skaller@users.sourceforge.net To: Radu Grigore Cc: caml-list In-Reply-To: <7f8e92aa04071506453ef7345d@mail.gmail.com> References: <7f8e92aa04071501035091cbe9@mail.gmail.com> <200407151335.23097.postmaster@jdh30.plus.com> <7f8e92aa04071506453ef7345d@mail.gmail.com> Content-Type: text/plain Message-Id: <1089908691.29648.616.camel@pelican.wigram> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 16 Jul 2004 02:24:51 +1000 Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 40F6AFDA.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 sourceforge:01 2004:99 9660:01 glebe:01 ocaml:01 workaround:01 assertions:01 face:98 nsw:01 simpler:01 snail:02 exception:02 exception:02 checkout:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Thu, 2004-07-15 at 23:45, Radu Grigore wrote: > Those solutions are: > 1. use another library > 2. provide your own workaround (by redesigning the interface) > I fail to see how this vindicates the design of the standard library. I believe there is a good argument for using exceptions in the standard library. It goes like this: There are situation where a function call can fail. Perhaps here an exception is not as good as a sum type. But there are other situations where it can be proven a function call cannot fail. In these circumstances, using exceptions leads to simpler and more efficient code: the downside is you have to manually maintain the proof that an exception can't be thrown in the face of the changes software always goes through. In balance, it is probably fairly arbitrary which mechanism to present the client. Ocaml is reasonably consistent though, and that is probably what matters most. -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- 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