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 SAA01413; Tue, 20 Jan 2004 18:53:14 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 SAA01703 for ; Tue, 20 Jan 2004 18:53:13 +0100 (MET) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from eposta.kablonet.com.tr ([62.248.102.66]) by concorde.inria.fr (8.11.1/8.11.1) with SMTP id i0KHrBP10175 for ; Tue, 20 Jan 2004 18:53:12 +0100 (MET) Received: (qmail 36068 invoked by uid 0); 20 Jan 2004 18:00:02 -0000 Received: from unknown (HELO 195.174.173.82) (exa@kablonet.com.tr@195.174.173.82) by 0 with SMTP; 20 Jan 2004 18:00:02 -0000 From: Eray Ozkural Reply-To: erayo@cs.bilkent.edu.tr Organization: Bilkent University CS Dept. To: Ocaml Mailing List Subject: Re: [Caml-list] ANNOUNCE: mod_caml 1.0.6 - includes security patch Date: Tue, 20 Jan 2004 19:52:56 +0200 User-Agent: KMail/1.5.94 References: <20040116093454.GA23909@redhat.com> <200401192345.10735.exa@kablonet.com.tr> <20040120173423.GA19476@roke.freak> In-Reply-To: <20040120173423.GA19476@roke.freak> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200401201952.56605.exa@kablonet.com.tr> X-Loop: caml-list@inria.fr X-Spam: no; 0.00; eray:01 ozkural:01 caml-list:01 2004:99 haskell:01 monadic:01 haskell:01 strictness:01 scopes:01 eray:01 ozkural:01 erayo:01 bilkent:01 bilkent:01 ankara:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Tuesday 20 January 2004 19:34, you wrote: > Haskell is lazy, ocaml is strict. Consider following snippet of > ``ocaml'': > > let _ = f (x) > where x = g () > > Now, the reader of the code might take false impression that f() is > executed before g(). Of course there is no such danger with function > definitions in where blocks, but still I think readability is the reason > it is absent from ocaml. Such a reader would be equally confused by let blocks. The order of execution is hardly the concern here. I don't think the problem you mention has much to do with where syntax. Its semantics is quite independent of evaluation strategy! (Plus, you can write monadic code in Haskell, which is basically safe imperative code... and you can use strictness where appropriate) That is quite possibly one of the most elegant features of Haskell syntax (not semantics) It helps balance scopes inside a function definition, actually *improving* readability. Regards, -- Eray Ozkural (exa) Comp. Sci. Dept., Bilkent University, Ankara KDE Project: http://www.kde.org www: http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://mp3.com/ariza GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C ------------------- 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