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.4 required=5.0 tests=AWL,NO_REAL_NAME autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 606EBBC69 for ; Thu, 4 Oct 2007 23:07:31 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAA7zBEfAXQImh2dsb2JhbACOOAEBAQgKKQ X-IronPort-AV: E=Sophos;i="4.21,232,1188770400"; d="scan'208";a="2393773" Received: from discorde.inria.fr ([192.93.2.38]) by mail2-smtp-roc.national.inria.fr with ESMTP; 04 Oct 2007 23:07:31 +0200 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l94L7UOQ015838 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 4 Oct 2007 23:07:31 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAInyBEeGYAcfnmdsb2JhbACOOAEBAQEHBAYp X-IronPort-AV: E=Sophos;i="4.21,232,1188770400"; d="scan'208";a="17308798" Received: from theia.rz.uni-saarland.de ([134.96.7.31]) by mail4-smtp-sop.national.inria.fr with ESMTP; 04 Oct 2007 23:07:30 +0200 Received: from mail.cs.uni-sb.de (mail.cs.uni-sb.de [134.96.254.200]) by theia.rz.uni-saarland.de (8.14.1/8.14.0) with ESMTP id l94L7TBY022512; Thu, 4 Oct 2007 23:07:29 +0200 Received: from mail.ps.uni-sb.de (james.ps.uni-sb.de [134.96.186.68]) by mail.cs.uni-sb.de (8.14.1/2007091300) with ESMTP id l94L7T3E028664; Thu, 4 Oct 2007 23:07:29 +0200 (CEST) Received: from localhost ([127.0.0.1] helo=www.ps.uni-sb.de ident=www-data) by mail.ps.uni-sb.de with esmtp (Exim 4.63) (envelope-from ) id 1IdXuq-0005nL-My; Thu, 04 Oct 2007 23:07:28 +0200 Received: from 84.159.34.129 (SquirrelMail authenticated user rossberg) by www.ps.uni-sb.de with HTTP; Thu, 4 Oct 2007 23:07:28 +0200 (CEST) Message-ID: <60599.84.159.34.129.1191532048.squirrel@www.ps.uni-sb.de> In-Reply-To: <1191527775.7078.67.camel@rosella.wigram> References: <20071003083529.40DA2A99F@Adric.metnet.fnmoc.navy.mil> <4703FDEF.7030900@univ-savoie.fr> <1191451810.7218.86.camel@rosella.wigram> <59808.84.159.34.129.1191520580.squirrel@www.ps.uni-sb.de> <1191527775.7078.67.camel@rosella.wigram> Date: Thu, 4 Oct 2007 23:07:28 +0200 (CEST) Subject: Re: [Caml-list] Unsoundness is essential From: rossberg@ps.uni-sb.de To: "skaller" Cc: caml-list@inria.fr User-Agent: SquirrelMail/1.4.9a MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: rossberg@ps.uni-sb.de X-SA-Exim-Scanned: No (on mail.ps.uni-sb.de); SAEximRunCond expanded to false X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (theia.rz.uni-saarland.de [134.96.7.31]); Thu, 04 Oct 2007 23:07:29 +0200 (CEST) X-AntiVirus: checked by AntiVir MailGate (version: 2.1.2-14; AVE: 7.6.0.20; VDF: 7.0.0.51; host: AntiVir1) X-Miltered: at discorde with ID 47055612.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; rossberg:01 ocaml:01 ill-formed:01 semantics:01 wrote:01 dynamically:01 compile:01 exception:01 andreas:01 caml-list:01 exceptions:01 precisely:01 div:97 silently:02 string:02 skaller wrote: > >> Exceptions are /trapped/ errors. > > I chose not to accept that definition. I use instead > "trapped at compile time", meaning "in advance of running > the program". As a definition for what? > Otherwise you could say dynamically typed languages were > strongly typed and sound. In fact, technically, they are. People have used the term "unityped" for it. > C/C++ does this right: if a program is 'ill-formed' then > a diagnostic must be issued. Throwing an exception silently > is NOT allowed. [C/C++ doesn't mandate diagnostics always because > some are too hard to detect] This paragraph sounds like a contradiction in itself. More importantly, an OCaml program performing div 0 isn't "ill-formed", it has a perfectly well-defined, safe semantics (in precisely the same way as adding a string in Python). See the library docs. - Andreas