On Fri, Jan 7, 2011 at 8:52 PM, 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. Seconded. And probably more advanced compilers could make better decisions at optimizing parallel execution. Best, -- 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