Yes a tail pointer was a mind slip . But I did
changed the final reverse! to the functional reverse in the srfi-1 version
of map
and doing that should be enough. You pay at most 2x time wise due to the
need to
allocate twice as many conses, But there is no need to introduce new stack
features
as far as I can see.

/Stefan


On Fri, Aug 12, 2011 at 11:03 PM, Andy Wingo <[email protected]>wrote:

> Follow-up Comment #2, bug #30070 (project guile):
>
> Stefan, the tail pointer does preserve performance, but it does not
> preserve
> the R6RS invariant about multiple returns.
>
> Szavai is right.  Perhaps we should provide some other definition of `map'
> within R6RS to satisfy this requirement.  However, a proper solution looks
> more like recursion than iteration, and to do that with arbitrary-sized
> lists
> will require Guile to implement extendable stacks, which is a significant
> hack.
>
>    _______________________________________________________
>
> Reply to this item at:
>
>  <http://savannah.gnu.org/bugs/?30070>
>
> _______________________________________________
>  Message sent via/by Savannah
>  http://savannah.gnu.org/
>
>

Reply via email to