[plt-scheme] minor bug
I sent suomething about this to c.l.s, but I'll replicate some
here:
Al Petrofsky said:
(let-syntax ((foo (syntax-rules () ((_ var) (define var 1)))))
(let ((x 2))
(begin (define foo +))
(cond (else (foo x)))
x))
==correct evaluation==> 2
I say:
==drscheme v200alpha19 evaluation==> 1
Based on an earlier discussion with SK I'm guessing this will be
fixed in alpha20, but this upgrades from a wart-report to a bug report.
Al says eiod does:
(cond (else e1 e2 ...)) ==> (begin #f e1 e2 ...)
to avoid this problem.
David
PS to Shriram: Having corresponded with Al for several days, I have
come to a much better understanding of why internal define is
a bad thing.