[haskell-cafe] Monad and kinds

John Dorsey haskell at colquitt.org
Fri Sep 5 02:58:58 EDT 2008


Tim,

> >  A year or two ago, ISTR that *most* of the newbie-generated traffic in
> >  the cafe was about atrocious performance of naive programs due to
> >  strict/lazy concerns.  I think it was scaring people away.
> 
> I think it's debatable what the various causality relationships might be here.

Certainly...

> >  Adding strictness can improve asymptotic space performance, as an example.
> >  Is there a reason to think this won't always be true?  Honest question,
> >  since I don't know nearly enough about strictness analysis to guess
> >  how good it'll be some day.
> 
> Adding strictness can also worsen asymptotic space (and time)
> performance. That's one reason why we use a lazy language at all.
> Strictness analysis is an approximation to the problem of determining
> what parts of a program can be evaluated strictly without changing
> their meaning, because if we had a perfect solution to that problem,
> we could solve the halting problem.

No argument.  I was responding to your comment that ...

	"IMO, arguing that programmers should care at all amounts to
	 conceding that default laziness is treacherous."

... which sounds like you're arguing against programmers giving due
attention to lazy/strict choices.  I was suggesting that there is good
reason to think that we should pay attention to it; that it's a
necessary part of learning Haskell; and that it will likely remain so.

Newbies should be encouraged to think and experiment more with
laziness and strictness.

Regards,
John
(pondering an IDE mode for visualizing strictness properties)



More information about the Haskell-Cafe mailing list