[Haskell-cafe] Re: Wikipedia on first-class object

Achim Schneider barsoap at web.de
Fri Dec 28 11:27:29 EST 2007


Wolfgang Jeltsch <g9ks157k at acme.softbase.org> wrote:

> Am Freitag, 28. Dezember 2007 07:49 schrieben Sie:
> > On Thu, 27 Dec 2007 18:19:47 +0200, Wolfgang Jeltsch
> > <g9ks157k at acme.softbase.org> wrote:
> > > Am Donnerstag, 27. Dezember 2007 16:34 schrieb Cristian Baboi:
> > >> I'll have to trust you, because I cannot test it.
> > >>
> > >> let x=(1:x); y=(1:y) in x==y .
> > >>
> > >> I also cannot test this:
> > >>
> > >> let x=(1:x); y=1:1:y in x==y
> > >
> > > In these examples, x and y denote the same value but the result
> > > of x == y is _|_ (undefined) in both cases.  So (==) is not
> > > really equality in Haskell but a kind of weak equality: If x
> > > doesn’t equal y, x == y is False, but if x equals y, x == y might
> > > be True or undefined.
> >
> > Thank you.
> >
> > I can only notice that y always has an even number of 1, which is
> > not the case for x :-)
> 
> Both have an infinite number of 1.  Why do you say “always”?  It
> seems that you think of x and y as “variables” whose values change
> over time.  This is not the case.  They both have a single value for
> all time: the infinite list consisting only of 1.
> 
Does that then mean that
[1] = [1,1]
?



More information about the Haskell-Cafe mailing list