From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id LAA09073 for caml-redistribution; Fri, 13 Sep 1996 11:36:04 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.6.10/8.6.6) with ESMTP id LAA08912 for ; Fri, 13 Sep 1996 11:24:05 +0200 Received: from madiran.inria.fr (madiran.inria.fr [128.93.8.77]) by concorde.inria.fr (8.7.1/8.7.1) with ESMTP id LAA06650; Fri, 13 Sep 1996 11:24:05 +0200 (MET DST) Received: from madiran.inria.fr (localhost.inria.fr [127.0.0.1]) by madiran.inria.fr (8.7.4/8.6.6) with ESMTP id LAA04829; Fri, 13 Sep 1996 11:24:04 +0200 Message-Id: <199609130924.LAA04829@madiran.inria.fr> X-Mailer: exmh version 1.6.4 10/10/95 From: Francois Rouaix To: christo@nextsolution.co.jp (Frank Christoph) cc: caml-list@pauillac.inria.fr Subject: Re: As-binding #-types/Evaluation order & State In-reply-to: Your message of "Thu, 12 Sep 1996 21:13:01 +0900." <9609121213.AA00935@sparc3.nextsolution.co.jp> Reply-To: Francois.Rouaix@inria.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 13 Sep 1996 11:24:03 +0200 Sender: weis Dear Frank, about the evaluation order question: > [this is bogus because of right-to-left order] > #let rec list_of_queue q = > # try Queue.take q :: list_of_queue q with Queue.Empty -> [] I would have written let rec list_of_queue q = try let h = Queue.take q in h::list_of_queue q with Queue.Empty -> [] in this case, which seems pretty natural. In general, if I have a doubt about consequences of evaluation order on the state, say for: ef e1 e2 en I'd write (assuming I want left-to-right order of course) let f = ef in let x1 = e1 in ... let xn = en in ef x1 ... xn Or did I miss something ? -- Francois.Rouaix@inria.fr Projet Cristal - INRIA Rocquencourt Programming is dreadfully impermanent; it's more like performance art than literature -- Bruce Sterling (dixit Wired)