[Haskell-cafe] Re: Why purely in haskell?
Achim Schneider
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
signature prohibited.
More information about the Haskell-Cafe
mailing list