[racket] possibility of defining recontract-all-from-out

From: Jon Zeppieri (zeppieri at gmail.com)
Date: Fri Sep 12 10:20:17 EDT 2014

Matthias,

Would you be willing to elaborate on this a bit? Specifically, how is
the header specified?

Thanks,
Jon


On Thu, Sep 11, 2014 at 10:35 AM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> 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 <zeppieri at 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
>

Posted on the users mailing list.