C K Kashyap <ckkash...@gmail.com> wrote:

> > Yes. It would slightly easier in, say,  C# or C++.
> > I think 'D' achieves its implementation of the 'lazy' keyword using
> > a similar approach.
> > But I did not understand why you are disappointed ?
>
> The disappointment was not on a serious note ... the thing is, I
> constantly run into discussions about "why fp" with my colleagues - in
> a few of such discussions, I had mentioned that Haskell is the only
> well known language with lazy evaluation (IIRC, I read it somewhere or
> heard it in one of the videos)
>
> And I had built up this impression that laziness distinguished Haskell
> by a huge margin ... but it seems that is not the case.
> Hence the disappointment.

Don't be disappointed.  There are some things, which are extremely
elegant to express with laziness:

  isPrime :: Integral a => a -> Bool
  isPrime n =
    all (\x -> mod n x /= 0) . takeWhile (\x -> x*x <= n) $ primes

  primes :: Integral a => [a]
  primes = 2 : filter isPrime [3..]

These two definitions use each other in a way, which is very difficult
to express without lazy evaluation.


Greets,
Ertugrul


-- 
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to