Re: some suggestions Phil Bewig 19 Feb 2003 09:07 UTC

On Monday, February 17, 2003 8:52 AM, Matthias Neubauer [SMTP:xxxxxx@informatik.uni-freiburg.de] wrote:
> STREAM-ITERATE computes a subsequent element of a stream, x_{i+1},
> using its previous element, x_i, as sole input to the function
> FUNC. The following ascii scribble should help to illustrate this:
>
>  x_0 -FUNC-> x_1 -FUNC-> x_2 -FUNC-> ... x_i -FUNC-> x_{i+1} ...
>
> STREAM-UNFOLD on the other hand does not only rely on the previous
> element for each computation step but it instead passes an additional
> "state" s_i from step to step:
>
>            /-> x_1      /-> x_2      /->     x_i      /-> x_{i+1}
>   s_0 -FUNC--> s_1 -FUNC--> s_2 -FUNC--> ... s_i -FUNC--> s_{i+1}
>
> The big win with the second approach is, that the passed state can be
> of any type (i.e., it does not have to coincide with the type of
> stream elements at all) and thus can also hold some additional
> information needed to compute the next element besides the stream
> elements.

I'm sorry.  I didn't read your original message closely enough.  Yes,
stream-unfold is more fundamental than stream-iterate.  I'll add this
in future versions of the SRFI.

Phil