Re:Why Haskell is suited to IO
by chc on Monday July 04, 2011 @12:59PM
(#2727043)
It's basically impossible to have a lazy imperative language, though, because "a sequence of statements" is the definition of an imperative program, and laziness leaves the ordering of that sequence undefined.
[ Parent
| on HN ]
Scala pulls it off. Here is one example: http://www.bluishcoder.co.nz/2006/07/scala-futures-and-lazy-...
I don't mean to split hairs, but Scala isn't a lazily evaluated language — it's a strict language that allows optional lazy evaluation, and AFAIK it only really works well if you're programming Scala in a more or less functional style. I'm pretty sure Scala's lazy values still lead to unpredictable behavior if you lazy up something that has side effects.