"Daniel Yokomizo" <[EMAIL PROTECTED]> wrote:

> On Jan 10, 2008 3:36 PM, Achim Schneider <[EMAIL PROTECTED]> wrote:
> > [EMAIL PROTECTED] 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. 

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to