[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