From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p07JWWKa008040 for ; Fri, 7 Jan 2011 20:32:32 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqgAAIf4Jk1KfVI0kGdsb2JhbACDd5IljgcIFQEBAQEJCQwHEQQgpDeJPDyCFYR2LoVIAQEDBYEcgzd0BI8R X-IronPort-AV: E=Sophos;i="4.60,290,1291590000"; d="scan'208";a="84647941" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail4-smtp-sop.national.inria.fr with ESMTP; 07 Jan 2011 20:32:18 +0100 Received: by wwd20 with SMTP id 20so17592635wwd.9 for ; Fri, 07 Jan 2011 11:32:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:subject :message-id:references:mime-version:content-type:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=ashrwY0ot3keHrLjAJ4dyAQJw/G5VVdZk28TuOuCH7g=; b=dS9+HQOzjgWWFztPbBRmQfvtpyiaETrehxtns28lXZDf/WtKjGsUm5Lr0ZuoUmL0xb +NV+CjXuQg7jjGSgYXC15n6oHHIXIpsqSKJfU3EdioYsc4oEvfT6TEznC9SvIZb2ucAU lC4NGvvdk/I2nE5tr0kkrT4vX/o3y9TV5haIw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:references:mime-version :content-type:content-disposition:content-transfer-encoding :in-reply-to:user-agent; b=aOZvxHG4tB4+TLN4yWhqTBUSIkn8NVR0Lhe4Q4CD5tg4S+8X3LUn2IZI5MPMrxpNCm wST59XQHPyDdw66KNR2lVq3enFv2mORJKBQg4MNsLVrCqHDbwB4tOMoHMW+37xsCwBMm pomBUtOWXOzrCuGZG8nWlWKI3+ritot38E+Ns= Received: by 10.227.155.11 with SMTP id q11mr15837391wbw.130.1294428738014; Fri, 07 Jan 2011 11:32:18 -0800 (PST) Received: from eideticdew.org (79.142.225.158.static.router1.bolignet.dk [79.142.225.158]) by mx.google.com with ESMTPS id f52sm12611767wes.11.2011.01.07.11.32.15 (version=SSLv3 cipher=RC4-MD5); Fri, 07 Jan 2011 11:32:16 -0800 (PST) Date: Fri, 7 Jan 2011 20:32:13 +0100 From: Petter Urkedal To: caml-list@inria.fr Message-ID: <20110107193213.GC21768@eideticdew.org> References: <699537.6718.qm@web111509.mail.gq1.yahoo.com> <20110107181157.GA16020852@CIS.FU-Berlin.DE> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [Caml-list] Purity and lazyness On 2011-01-07, Brian Hurt wrote: > > > On Fri, 7 Jan 2011, Holger Weiß wrote: > > > 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 ] > > > > 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 good at multithreaded because it has already "paid the price" of > dealing with asynchronous computations. And on the more theoretical side, strictness in not sufficient to make impurity sound in ML, since the let-polymorphism must also be restricted, e.g. with the value-restriction.