[Haskell-cafe] Strict and non-strict vs eager and lazy, was C onfused about Cyclic struture

Bernard Pope bjpop at cs.mu.OZ.AU
Tue Jul 19 01:07:13 EDT 2005


On Mon, 2005-07-18 at 15:19 +0100, Bayley, Alistair wrote:
> > From: Jerzy Karczmarczuk [mailto:karczma at info.unicaen.fr] 
> > 
> > Bernard Pope wrote:
> > 
> > >I'll be a little bit pedantic here. Haskell, the language definition,
> > >does not prescribe lazy evaluation. It says that the language is
> > >non-strict. Lazy evaluation is an implementation technique which
> > >satisfies non-strict semantics, but it is not the only 
> > technique which
> > >does this.
> > >  
> > >
> > This pedantry is renewed periodically.
> > 
> > It is a pity that nobody ever writes anything about that other
> > methods of implementation of non-strictness, nor about the
> > languages which use those methods.
> > 
> > I believe it might do some good to people who learn functional
> > programming in general, and Haskell in particular.
> > Any takers?
> 
> 
> Not a taker (yet - where can I find information about non-lazy
> implementation of non-strict languages? From Google so far: speculative
> evaluation (Eager Haskell), call-by-name vs call-by-need.)
> 
> Wikipedia frustratingly hints that "other evaluation strategies are
> possible", but that's all it says:
> http://en.wikipedia.org/wiki/Non-strict_programming_language

I should have mentioned this paper:

@article{Tremblay01,
  author=       {G. Tremblay},
  title=        {Lenient evaluation is neither strict nor lazy},
  journal=      {Computer Languages},
  volume=       {26},
  number=       {1},
  pages=        {43--66},
  year=         {2001},
}

(however I think he says that Haskell is lazy!)

Cheers,
Bernie.



More information about the Haskell-Cafe mailing list