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 p07IGnM9005669 for ; Fri, 7 Jan 2011 19:16:49 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmUAABbnJk2ChQRClGdsb2JhbAChHoMMFQEBAQEJCwgJEQUfuziFTAQ X-IronPort-AV: E=Sophos;i="4.60,290,1291590000"; d="scan'208";a="86293549" Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by mail2-smtp-roc.national.inria.fr with ESMTP; 07 Jan 2011 19:16:48 +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 <1PbGro-0000Od-KC>; Fri, 07 Jan 2011 19:16:48 +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 <1PbGro-00011S-I8>; Fri, 07 Jan 2011 19:16:48 +0100 Received: by Mail.CIS.FU-Berlin.DE (Exim 4.69) for caml-list@inria.fr with local (envelope-from ) id <1PbGro-018XYK-Fa>; Fri, 07 Jan 2011 19:16:48 +0100 Date: Fri, 7 Jan 2011 19:16:48 +0100 From: Holger =?iso-8859-1?Q?Wei=DF?= To: Caml List Message-ID: <20110107181648.GB16020852@CIS.FU-Berlin.DE> Mail-Followup-To: Caml List References: <699537.6718.qm@web111509.mail.gq1.yahoo.com> <41A45D6B-C556-4D60-BA6F-423B60E3A137@univ-orleans.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <41A45D6B-C556-4D60-BA6F-423B60E3A137@univ-orleans.fr> 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 * David Rajchenbach-Teller [2011-01-07 17:38]: > Correct me if I'm wrong, but I wouldn't classify Erlang as "pure": > sending and receiving messages -- which are two of the most important > primitives in Erlang -- are definitely side-effects. > Also, asynchronous error-checking, Mnesia, etc. look quite impure to me. Indeed. Erlang uses single assignment, but it doesn't enforce referential transparency. > I also vaguely remember Simon Peyton-Jones declaring something along the > lines of "The next Haskell will be strict". Not really: | Any successor language [to Haskell] will have support for both strict and lazy | functions. So the question then is: what's the default, and how easy is it to | get to these things? How do you mix them together? So it isn't kind of a | completely either/or situation any more. But on balance yes, I'm definitely | very happy with using the lazy approach, as that's what made Haskell what it is | and kept it pure. [ http://www.techworld.com.au/article/261007/a-z_programming_languages_haskell/?pp=7 ] Holger