From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p07KPhKk010193 for ; Fri, 7 Jan 2011 21:25:43 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArQBADoFJ03RVdo2mGdsb2JhbACGZo8FhjQBhzVOCBUBAQEBAQgJDAcRJKQriXiCFYRlLoVIAQEDBYVHBIFfiSo X-IronPort-AV: E=Sophos;i="4.60,290,1291590000"; d="scan'208";a="72580875" Received: from mail-yi0-f54.google.com ([209.85.218.54]) by mail3-smtp-sop.national.inria.fr with ESMTP; 07 Jan 2011 21:25:37 +0100 Received: by yie19 with SMTP id 19so5282027yie.27 for ; Fri, 07 Jan 2011 12:25:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=PbmWDnK+0TX6aJfMZMiK4ZfOzqK6Va+iyttEylV/jZY=; b=RizTEnENLZvCmS9Y5KfQZp4aX1rkSGkpL5Va/3lHI40mIiI/Da5OuNTb6LcsSRPtRB QhY5MW/V0t40wSqK194U+dP+L92fSxXj8f+gwFCWU3vY7pMLr1R7sVRnJRedgS16e9r2 mt0iJ9v+O2Vdy6FF4M2t5PP1WlEVnlWC+WFPY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=n/Iu2yHzBCyOUcKH2fS1pmW2L+Qoi7EUGYO0UZZQYgwbviIvGHFogkUUF75wkKovfK o1VEr89Ndlc8N/xv5cQFtDh/GblnjmBRwNpNL6Z7/TNaNgrRE14oTHVtMn1Y76/2moKc +CWfTSH3ShudKBM0wQKX1yAmZzTDbmdiu+TZk= MIME-Version: 1.0 Received: by 10.90.118.2 with SMTP id q2mr3738112agc.11.1294431936402; Fri, 07 Jan 2011 12:25:36 -0800 (PST) Received: by 10.90.89.4 with HTTP; Fri, 7 Jan 2011 12:25:36 -0800 (PST) In-Reply-To: References: <699537.6718.qm@web111509.mail.gq1.yahoo.com> <20110107181157.GA16020852@CIS.FU-Berlin.DE> Date: Fri, 7 Jan 2011 22:25:36 +0200 Message-ID: From: Eray Ozkural To: Brian Hurt Cc: =?ISO-8859-1?Q?Holger_Wei=DF?= , Caml List Content-Type: multipart/alternative; boundary=0016362836e8c155bf0499476b01 Subject: Re: [Caml-list] Purity and lazyness --0016362836e8c155bf0499476b01 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Fri, Jan 7, 2011 at 8:52 PM, Brian Hurt wrote: > > > On Fri, 7 Jan 2011, Holger Wei=DF wrote: > > Simon Peyton-Jones argues like this: >> >> | Because Haskell is lazy it meant that we were much more consistent abo= ut >> | keeping the language pure. You could have a pure, strict, call by val= ue >> | 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_has= kell/?pp=3D7] >> >> > Unless there is some other driver to keep things pure even while being > strict. And I would argue there is- concurrency. Concurrency has a lot = of > similarities with laziness, in that the ordering of computations can be (= and > often is) undefined, with all the fun that entails. Haskell is really go= od > at multithreaded because it has already "paid the price" of dealing with > asynchronous computations. Seconded. And probably more advanced compilers could make better decisions at optimizing parallel execution. Best, --=20 Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct --0016362836e8c155bf0499476b01 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On Fri, Jan 7, 2011 at 8:52 PM, Brian Hurt <bhurt@spnz.org> wrote:


On Fri, 7 Jan 2011, Holger Wei=DF wrote:

Simon Peyton-Jones argues like this:

| Because Haskell is lazy it meant that we were much more consistent about<= br> | keeping the language pure. =A0You could have a pure, strict, call by valu= e
| 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. =A0So "laziness kept us pure" is the = slogan!

[ http://www.techworld.com.au/artic= le/261007/a-z_programming_languages_haskell/?pp=3D7 ]


Unless there is some other driver to keep things pure even while being stri= ct. =A0And I would argue there is- concurrency. =A0Concurrency has a lot of= similarities with laziness, in that the ordering of computations can be (a= nd often is) undefined, with all the fun that entails. =A0Haskell is really= good at multithreaded because it has already "paid the price" of= dealing with asynchronous computations.

Seconded. And probably more advanced compilers could ma= ke better decisions at optimizing parallel execution.

<= div>Best,

--
Eray Ozkural, PhD candidate.=A0 Comp. Sci. = Dept., Bilkent University, Ankara
http://groups.yahoo= .com/group/ai-philosophy
h= ttp://myspace.com/arizanesil ht= tp://myspace.com/malfunct

--0016362836e8c155bf0499476b01--