From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id VAA15004 for caml-red; Tue, 10 Oct 2000 21:24:03 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id UAA14492 for ; Tue, 10 Oct 2000 20:55:50 +0200 (MET DST) Received: from hebe.or.intel.com (hebe.or.intel.com [134.134.248.4]) by concorde.inria.fr (8.10.0/8.10.0) with ESMTP id e9AItnj00224 for ; Tue, 10 Oct 2000 20:55:49 +0200 (MET DST) Received: from ichips-ra.pdx.intel.com (ichips-ra-hme3.intel.com [10.7.7.35]) by hebe.or.intel.com (8.9.1a+p1/8.9.1/d: relay.m4,v 1.31 2000/08/22 00:15:13 dmccart Exp $) with ESMTP id MAA05802 for ; Tue, 10 Oct 2000 12:08:07 -0700 (PDT) Received: from dhpc0010.pdx.intel.com (dhpc0010.pdx.intel.com [10.7.21.33]) by ichips-ra.pdx.intel.com (8.9.1a/8.9.1/d: internal.m4,v 1.2 1998/11/09 19:18:37 iwep Exp iwep $) with ESMTP id LAA28076; Tue, 10 Oct 2000 11:55:37 -0700 (PDT) Received: from ichips.intel.com (johnh@localhost [127.0.0.1]) by dhpc0010.pdx.intel.com (8.9.1a/8.9.1/d: client-ra.m4,v 1.1 1998/12/24 19:00:55 jamesw Exp jamesw $) with ESMTP id LAA25863; Tue, 10 Oct 2000 11:55:36 -0700 (PDT) Message-Id: <200010101855.LAA25863@dhpc0010.pdx.intel.com> To: caml-list@inria.fr cc: John Harrison Subject: Re: Undefined evaluation order Date: Tue, 10 Oct 2000 11:55:34 -0700 From: John R Harrison Sender: weis@pauillac.inria.fr In the old ML compiler used in Cambridge LCF and HOL88 (which I guess was a kind of ur-CAML), the order of evaluation was genuinely changeable, e.g: #let f x y = (x,y);; f = - : (* -> ** -> (* # **)) #f (print_int 1;100) (print_int 2;200);; 21(100, 200) : (int # int) #(I f) (print_int 1;100) (print_int 2;200);; 12(100, 200) : (int # int) We just ended up saying in HOL's DESCRIPTION manual: "Due to optimizations in the ML compiler, the order of evaluation may vary." Gerard Huet might have been responsible for the optimizations that led to this behaviour, so perhaps he knows more... Cheers, John.