At Wed, 13 Jun 2012 14:31:12 +0800, Sam Tobin-Hochstadt wrote: > I'm trying to use the new behavior of `local-expand` to handle > submodules in Typed Racket. However, I can't get the stop list to > work the way I thought it would. In particular, this expression: > > (local-expand #'(#%plain-module-begin forms ...) 'module-begin > (list #'module*)) > > doesn't stop on occurrences of `module*` inside `forms ...`, or > anything else for that matter. Even if I add other identifiers to the > stop list, nothing happens. You can see this behavior in the attached > test program. If I use `#false` for the stop list, I do get the > expected behavior, but not for any actual list. > > Am I doing something foolish, or is there a problem here?
There's a problem. (I tested that `module*' in a stop list doesn't imply other things, but I didn't check that expansion actually stopped at `module*'!) The problem is that the `#%plain-module-begin' transformer juggles `module*' forms specifically. The transformer needs to effectively check whether `module*' is in the stop list. I should be able to push a repair later today. _________________________ Racket Developers list: http://lists.racket-lang.org/dev

