From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p07IC3d3005347 for ; Fri, 7 Jan 2011 19:12:03 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq0AAIrlJk2ChQRClGdsb2JhbACVaYs0gwwWAQIJCwgJEQUfu0mFTASRHQ X-IronPort-AV: E=Sophos;i="4.60,290,1291590000"; d="scan'208";a="86293281" Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by mail2-smtp-roc.national.inria.fr with ESMTP; 07 Jan 2011 19:11:58 +0100 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for caml-list@inria.fr with esmtp (envelope-from ) id <1PbGn8-0008IV-4Y>; Fri, 07 Jan 2011 19:11:58 +0100 Received: from mail.cis.fu-berlin.de ([160.45.11.138]) by relay1.zedat.fu-berlin.de (Exim 4.69) for caml-list@inria.fr with esmtp (envelope-from ) id <1PbGn8-0000Oh-2D>; Fri, 07 Jan 2011 19:11:58 +0100 Received: by Mail.CIS.FU-Berlin.DE (Exim 4.69) for caml-list@inria.fr with local (envelope-from ) id <1PbGn8-0199Gl-0K>; Fri, 07 Jan 2011 19:11:58 +0100 Date: Fri, 7 Jan 2011 19:11:57 +0100 From: Holger =?iso-8859-1?Q?Wei=DF?= To: Caml List Message-ID: <20110107181157.GA16020852@CIS.FU-Berlin.DE> Mail-Followup-To: Caml List References: <699537.6718.qm@web111509.mail.gq1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <699537.6718.qm@web111509.mail.gq1.yahoo.com> Organization: Freie =?iso-8859-1?Q?Universit=E4t?= Berlin User-Agent: Mutt/1.5.20 (2009-06-14) X-Originating-IP: 160.45.11.138 Subject: Re: [Caml-list] Purity and lazyness * Dario Teixeira [2011-01-07 07:35]: > In presentations by Haskellers, lazyness and purity are often portrayed as > going hand in hand. Now, I can see why a language which is lazy by default > would also need to be pure, since side-effects would be indeed very messy > if evaluation order is not predictable. However, I cannot see the converse, > that is, I don't see why purity would require lazyness. > > So, my question is whether there is something I'm missing and in fact "purity > <=> lazyness", or I am reading too much from those Haskeller presentations, > because they never meant to say anything beyond "lazyness => purity", and > freely mixing the two was just a casual oversight. Simon Peyton-Jones argues like this: | Because Haskell is lazy it meant that we were much more consistent about | keeping the language pure. You could have a pure, strict, call by value | language, but no one has managed to do that because the moment you have | a strict call by value language, the temptation to add impurities (side | effects) is overwhelming. So "laziness kept us pure" is the slogan! [ http://www.techworld.com.au/article/261007/a-z_programming_languages_haskell/?pp=7 ] Holger