[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What's so cool about Scheme?



"Bayley, Alistair" <Alistair_Bayley@ldn.invesco.com> writes:
> You can classify functional languages as pure/impure, lazy/eager. You tend
> to find that the lazy languages (Haskell, Clean, Miranda) are pure, and
> impure languages (Lisp, Scheme, ML) are eager. There's no reason you can't
> have a pure eager language, but I can't think of one (anybody?). 

Laziness appears to give back some of the power we give up due to lack
of side effects.  There are programs which have a strictly worse time
complexity when written in a pure, eager language as compaared to a
pure, lazy language.  More details in this paper (I believe):

@article{lazyPower,
  author = "Richard Bird and Geraint Jones and Oege De Moor",
  title = "More haste, less speed: lazy versus eager evaluation", 
  journal = Journal of Functional Programming,
  volume = 7,
  number = 5,
  pages = "541--547",
  month = Sep,
  year = 1997
}


-Jan-Willem Maessen
jmaessen@alum.mit.edu