Re: Left- and right-ness of folds scgmille@xxxxxx 25 Oct 2003 19:30 UTC
On Sat, Oct 25, 2003 at 12:13:33PM -0700, Bradd W. Szonye wrote:
> > Bradd W. Szonye wrote:
> >> Even with the "right-associative" definition, a right fold is still
> >> not possible for an infinite sequence, because the fold will not
> >> halt. It will diverge before you can even use the initial value. You
> >> first need to select a finite subset so that you can apply the
> >> initial value in the fold.
>
> xxxxxx@freenetproject.org wrote:
> > It would still be defined for said collections however.  The fact that
> > it may not halt is a pitfall for the programmer that attempts it.
>
> That's a big pitfall! A right-fold on an infinite sequence will diverge
> before the folding function ever gets called. I think it's a bad idea to
> provide an interface that is "broken by design" like that -- it cannot
> possibly function correctly.

Its not really.  collection-fold-right will raise an error if applied to
an infinite collection.  Would it placate you if it was required to
raise an error with truely infinite collections?  Real infinite
collections's fold-rights would then error immediately rather than after
running out of memory.

	Scott