For a project last year, I developed a suite of syntactic abstractions that expand into contracted provides. With the core abstract you specify a header-file-like 'thing' and the exporting module(s) can then require this 'thing' to export identifiers. A re-export would work the same way.
If my abstractions were robust enough, I'd put them on github but they aren't and I don't have the time to fortify them sufficiently now. But the idea is slightly different from yours and may help you think along different lines. -- Matthias On Sep 11, 2014, at 12:56 AM, Jon Zeppieri <zeppi...@gmail.com> wrote: > Rather than listing a large number of identifiers in a (recontract-out > ...) spec, I'd like to re-contract everything from a certain required > private module. I don't know how to do this. The crux of the problem > is that syntax-local-module-required-identifiers can only be called > while a provide transformer is running, but recontract-out is a > provide pre-transformer. So, by the time I'm able to grab all of the > identifiers from the required module, it's too late to make use of > recontract-out (or contract-out). > > Is it even possible to do this? And, if so, is there a way to do it > without duplicating much of racket/contract/private/out.rkt? > > -Jon > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users