Hi,

Andy Wingo <[email protected]> skribis:

> I'm excited about the partial evaluator.  However there is one error
> I've found:
>
>   (letrec ((fold (lambda (f x b null? car cdr)
>                    (if (null? x)
>                        b
>                        (f (car x) (fold f (cdr x) b null? car cdr))))))
>     (fold * x 1 zero? (lambda (x) x) (lambda (x) (- x 1))))
>
> The expansion ends up with the body including lexical-refs to `car' and
> `cdr', but they aren't bound in the letrec body.

I believe this is now fixed:

  
http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=61237fa4b96d020e96388cca4fd065ddf43bca60

Thanks!

Ludo’.

Reply via email to