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

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Sep 11 10:35:05 EDT 2014

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.