Thanks for the bug report and the reminder that 2e omits a discussion of name capture in beta-value.
The stepper works semantically correctly precisely because it reuses the underlying evaluation machinery. It inserts machinery that can reconstruct (reify) the internal state of execution as real programs at the correct place. The stepper works syntactically incorrectly because the reification/reconstruction fails to check for variable name conflicts. It simply reuses existing variables. The alternative might be to gensym variable names but doing so for all variable names will be equally confusing. Pragmatically, this has not been a problem in the past. People tend to use the stepper for programs that don't pose these problems or on the occasion they do, they overlook (and perhaps don't see) the problem. I am sure John Clements will think about this and come up with an idea. -- Matthias On Jan 28, 2016, at 11:33 AM, Paolo Giarrusso <p.giarru...@gmail.com> wrote: > On Thursday, January 28, 2016 at 4:51:54 PM UTC+1, Paolo Giarrusso wrote: >> My supervisor (Prof. Klaus Ostermann) noticed an issue with DrRacket's >> stepper in ISL+ (with Racket 6.2.1) and name capture. > > Update: My supervisor also filed a ticket on this: > http://bugs.racket-lang.org/query/?cmd=view&pr=15231 > > Cheers, > Paolo > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.