Re: [racket-dev] strange top-level binding for module-defined identifiers

2014-07-25 Thread Matthew Flatt
I'll push a repair. The problem is in the representation of syntax objects and the flaky way that it was generalized to support identifiers that move across submodule boundaries (but the problem didn't just affect programs with submodules, in this case). At Thu, 24 Jul 2014 16:24:42 -0400, Sam

[racket-dev] strange top-level binding for module-defined identifiers

2014-07-24 Thread Sam Tobin-Hochstadt
If you take this program (which is a lot like the implementation of `racket/fixnum`): #lang racket/base (require '#%flfxnum racket/private/vector-wraps racket/unsafe/ops (for-syntax racket/base)) (define-vector-wraps fxvector fixnum? fixnum? fxvector?

Re: [racket-dev] strange top-level binding for module-defined identifiers

2014-07-24 Thread Sam Tobin-Hochstadt
Ok, here's a much simpler example: #lang racket (module foo racket (provide def-wrap) (define-syntax-rule (def-wrap) (begin (define y 1) y))) (module bar racket (require (submod .. foo)) (def-wrap)) In the fully-expanded syntax, the macro stepper suggests that `y` has no apparent