On 10/19/07, Yitzchak Gale <[EMAIL PROTECTED]> wrote: > So why not make the laziness available > also for cases where "1 - 2 == 0" does _not_ do > the right thing? > > data LazyInteger = IntZero | IntSum Bool Integer LazyInteger > > or > > data LazyInteger = LazyInteger Bool Nat
I think data LazyInteger = IntDiff Nat Nat would admit implementation of most of the nice properties of this implementation. Comparison operators could short circuit when one of the two naturals is zero. The only value which would diverge when compared to a constant would be infinity - infinity. Luke _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe