[racket-dev] require sub-forms

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Wed Aug 25 10:13:30 EDT 2010

Actually, I grepped through the source in the hope that that's
precisely what I would find.  It's when I didn't that I wrote the
list.

Shriram

On Wed, Aug 25, 2010 at 10:11 AM, Jay McCarthy <jay.mccarthy at gmail.com> wrote:
> On Tue, Aug 24, 2010 at 10:18 PM, Eli Barzilay <eli at barzilay.org> wrote:
>> On Aug 24, Jay McCarthy wrote:
>>> There is not now but we could make a module that only exported them
>>> so you could provide all-from-out it and thus centralize the list of
>>> subforms. That's the cleanest idea I have.
>>
>> This assumes you want only the core ones, and not things that are
>> defined in other libraries (like in `racket/require').
>>
>>
>>> (You don't want to hear my really bad ideas)
>>
>> (#rx"-in$" ?)
>>
>
> That's not my bad idea, which might not be so bad actually. I'm
> imagine a new require/provide transformer that names sets of exports:
>
> .... in require/provide.rkt :
>
> (define-export-set require-sub-forms only-in except-in ...)
> (define-export-set provide-sub-forms all-defined-out all-from-out ...)
> ; These expand to static information
>
> (define-provide-syntax (all-from-export-set-out stx)
>  ; looks at the syntax-local-value of stx and pulls out the
> identifiers from the definition above
>  ; and expands to (combine-out id ...)
>  ...)
>
> ... in sk.rkt:
> (provide
>  (all-from-export-set-out require-sub-forms)
>  (all-from-export-set-out provide-sub-forms))
>
> Jay
>
>> --
>>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>>                    http://barzilay.org/                   Maze is Life!
>>
>
>
>
> --
> Jay McCarthy <jay at cs.byu.edu>
> Assistant Professor / Brigham Young University
> http://teammccarthy.org/jay
>
> "The glory of God is Intelligence" - D&C 93
>


Posted on the dev mailing list.