Hi!

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.

Andy
-- 
http://wingolog.org/

Reply via email to