[racket-dev] Module metadata
On Tue, Apr 19, 2011 at 5:22 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> How about just putting an export into the module that you build at compile time?
Unfortunately, then I can't require two of these modules at once, or
else every time I do I have to use (except-out <module>
metadata-name). Exports are not a very good side channel of
information because they eat up important namespace.
> (Also you might want to go check and see how scribble does proc-doc
> and possibly scribble/lp. I forget the details now, but they are doing
> similar things.)
Okay, I'll see what I can find. Are these mechanisms documented, or
do you mean I should look at the code?
--Carl
> On Tue, Apr 19, 2011 at 4:02 PM, Carl Eastlund <cce at ccs.neu.edu> wrote:
>> I would like to associate metadata with a module based on its
>> expansion. In my case, I want the Dracula language to be able to
>> construct an s-expression representing an ACL2 proof obligation at
>> phase 1, associate it with the module, and have the Dracula tool in
>> DrRacket extract the proof obligation at phase 0 so it can send it to
>> ACL2. In another case, someone on the IRC channel wants to associate
>> documentation with the exports of a module. Again, this information
>> is constructed at phase 1, but might be read at some arbitrary other
>> phase by another tool.
>>
>> Is there a way to do this? I have not been able to find one. We
>> currently have various metadata associated with modules, such as the
>> #:info and #:language-info options in syntax/module-reader, but those
>> come from the reader. The metadata is constructed prior to expansion.
>> Is it possible to add a similar channel for post-expansion metadata
>> associated with modules?
>>
>> Carl Eastlund