When you use the macro stepper on #lang racket (open-input-file "x")
then you can click on an identifier such as `open-input-file6'. The "apparent identifier binding" information in the right panel says that it comes from "kw-file.rkt" in `racket/base/private'. In particular, it turns out to be bound by the expansion of `(define (open-input-file ....) ....)', which expands to several bindings to handle keyword arguments. If you're writing a program that expands programs, you can use `identifier-binding' to get the kind of information about an identifier's binding that the macro stepper shows. At Wed, 24 Oct 2012 15:46:19 -0400 (EDT), "J. Ian Johnson" wrote: > (open-input-file file-name) > =maacrooooos=> > (let ((file-name1 file-name)) > (if (variable-reference-constant? open-input-file6) > (open-input-file4 '#f '#f file-name1) > (open-input-file6 file-name1))) > > These identifiers are nowhere. I imagine these will be the first of many > crazy > things I'll run into during my implementation. > > What/where are they? I'm trying to make a sound analysis/small step semantics > here. > Thanks, > -Ian > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev

