[Haskell-cafe] Re: Why purely in haskell?
barsoap at web.de
Thu Jan 10 10:55:30 EST 2008
"Daniel Yokomizo" <daniel.yokomizo at gmail.com> wrote:
> On Jan 10, 2008 3:36 PM, Achim Schneider <barsoap at web.de> wrote:
> > jerzy.karczmarczuk at info.unicaen.fr wrote:
> > > Niko Korhonen writes:
> > >
> > > ...
> > > > Although it could be argued that laziness is the cause of some
> > > > very obscure bugs... <g>
> > > > Niko
> > >
> > > Example, PLEASE.
> > >
> > [1..] == [1..]
> > , for assumed operational semantics of ones own axiomatic semantics.
> > Bugs are only a misunderstanding away.
> It has nothing to do with laziness, but with using an algebraic
> function (==) with a codata structure (stream). If Haskell kept
> laziness but enforced separation of data and codata such code wouldn't
> compile. Lazy lists or streams never are a problem, but you can't
> (generically) fold codata.
Exactly. Denotationally it hasn't, but axiomatically it has. Because it
looks like mathematical terms one can easily get lost in believing it
reduces like mathematics, too.
(c) this sig last receiving data processing entity. Inspect headers for
past copyright information. All rights reserved. Unauthorised copying,
hiring, renting, public performance and/or broadcasting of this
More information about the Haskell-Cafe