From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id CB16FBDDB for ; Sat, 27 Aug 2005 00:58:51 +0200 (CEST) Received: from smtp3.adl2.internode.on.net (smtp3.adl2.internode.on.net [203.16.214.203]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j7QMwnv0031411 for ; Sat, 27 Aug 2005 00:58:51 +0200 Received: from rosella (ppp27-60.lns1.syd6.internode.on.net [59.167.27.60]) by smtp3.adl2.internode.on.net (8.12.9/8.12.6) with ESMTP id j7QMwdwZ029899; Sat, 27 Aug 2005 08:28:40 +0930 (CST) (envelope-from skaller@users.sourceforge.net) Subject: Re: [Caml-list] Re: Parameter evaluation order From: skaller To: Christophe Raffalli Cc: Jon Harrop , caml-list@yquem.inria.fr In-Reply-To: <430F0669.6050103@univ-savoie.fr> References: <43065B83.6050503@dravanet.hu> <430CE193.9000805@univ-savoie.fr> <430EE6A1.9040705@univ-savoie.fr> <200508261110.41183.jon@ffconsultancy.com> <430F0669.6050103@univ-savoie.fr> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-Y3lFCl5mBAMCo/xI2tvB" Date: Sat, 27 Aug 2005 08:58:39 +1000 Message-Id: <1125097119.25384.56.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.2.1.1 X-Miltered: at concorde with ID 430F9EA9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 christophe:01 raffalli:01 endline:01 endline:01 ocaml:01 ...:98 wrote:01 sourceforge:01 sourceforge:01 reasoning:01 artificial:01 slightly:02 parameter:02 shootout:02 X-Attachments: type="application/pgp-signature" name="signature.asc" X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 --=-Y3lFCl5mBAMCo/xI2tvB Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Fri, 2005-08-26 at 14:09 +0200, Christophe Raffalli wrote: > - why should the evaluation order be specified: this is needed if you=20 > want to formally reason about programs ...=20 Indeterminate order is just fine for reasoning: there is no need for a system to be fully deterministic to reason about it, you just end up with sets of possible results instead of=20 a unique one. You can assume determinism and proceed, noting where such assumptions matter and reporting this as a coding 'bug' to the programmer. Or, you can make deductions based on the assumption the programmer knew what they were doing. Considering this case: [print_endline "1"; print_endline "2"];; it is NOT clear immediately the non-determinism matters: certainly there are two possible results, but who said that one is not doing: ocaml < funny_code | sort This issue arose on the Alioth Shootout with floating point tests where various codes generated nice ray traced images from Jon Harrops test .. but the actual numbers were slightly different .. what matters is how the human eye sees the output image, determinism was only required for an artificial reason. --=20 John Skaller --=-Y3lFCl5mBAMCo/xI2tvB Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQBDD56dsRp8/9aGVGsRAkxxAKCLXxEfkP72Loqcj80mcvlILeRNfwCeJjNg Bp30vx3nLEV/MBKDtKKV+vs= =L+IX -----END PGP SIGNATURE----- --=-Y3lFCl5mBAMCo/xI2tvB--