[Haskell-cafe] Robert Harper on monads and laziness

Felipe Almeida Lessa felipe.lessa at gmail.com
Mon May 2 15:18:58 CEST 2011

On Mon, May 2, 2011 at 9:29 AM, Dominique Devriese
<dominique.devriese at cs.kuleuven.be> wrote:
> I agree with your analysis. Throughout his different articles, I think
> Harper partly has a point when he says that laziness brings certain
> disadvantages (like e.g. complex memory and CPU behaviour) to Haskell
> (although I disagree with some of his other  arguments here). However,
> like you say, he misses the ball by amalgamating laziness with
> referential transparency, where the first probably requires the second
> but not vice versa. This allows him to simply dismiss both, which is
> convenient for his apparent conclusion that "ML is strictly better
> than Haskell", since referential transparency and purity are (in my
> view) one of the things ML lacks most when compared to Haskell. His
> only other argument against referential transparency and purity seems
> to be his mentioning of "benign effects", which is weak for two
> reasons: first, benign effects are clearly not what typical ML
> programs use non-purity for and second, benign effects can be
> supported much more conservatively using Haskell's unsafePerformIO.

Or, instead of unsafePerformIO, runST.

Saying that we should allow effects everywhere because there are
"benign effects" is like saying that we should allow GOTOs everywhere
because there are some "benign GOTOs".  By allowing these "benign
things" we also open a can of worms of "malign things".



More information about the Haskell-Cafe mailing list