Okay, new information. I’ve looked into this more, and I’m pretty sure it has nothing at all to do with errortrace. I don’t know why running it from the command line without errortrace works, but as far as I can tell it shouldn’t.
The real problem is that require-local uses syntax-local-lift-require <http://docs.racket-lang.org/reference/stxtrans.html?q=syntax-local-lift-require#(def._((quote._~23~25kernel)._syntax-local-lift-require))>, which pulls the resulting #%require expression into the top of the enclosing module. This means it ends up being before any submodule definitions, so it explodes. This seems a little like an issue with submodules and syntax-local-lift-require more than anything else. Should submodules be lifted to the top of the module? Either way, this is a frustrating problem, and I can’t see any simple fix. > On Jan 11, 2015, at 12:55, Alexis King <[email protected]> wrote: > > I wrote a typed racket macro that creates an untyped submodule, then uses > require/typed to add type annotations to the bindings. This would work great, > except that it just errors out and dies. I submitted a bug report before > realizing that a bug report already existed > <http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&database=default&pr=14130&return_url=http://bugs.racket-lang.org/query/?database=default;debug=;State=any;ignoreclosed=Ignore%20Closed;Synopsis=local-require;multitext=;columns=State;columns=Synopsis;columns=Category;columns=Last-Modified;columns=Release;cmd=submit%20query;sortby=Number>. > There, someone suggested that it would work fine with (submod "." foo) > instead of simply using 'foo. This works! > > Except that it doesn’t work when errortrace is enabled. This behavior is > observable here: > https://gist.github.com/lexi-lambda/d0da64235e1bca59810f > <https://gist.github.com/lexi-lambda/d0da64235e1bca59810f> > > Note that it works fine using plain old require, and it also works fine > without errortrace. What is errortrace doing that breaks this specific > instance? How can I fix it? I’d really like to be able to solve this because > my macro sort of depends on it.
____________________ Racket Users list: http://lists.racket-lang.org/users

