[racket] syntax-parse and literals
I think that's true. Eli has an idea about how to use "sub-binding"
information to deal with this better. I also think "modulets" might be
an answer too. It's definitely something that needs to be improved in
this case and in quite a few others. (For example, the documentation
does a poor job letting you know what pre-defined struct properties
there are.)
Jay
On Wed, Sep 7, 2011 at 12:57 PM, Shriram Krishnamurthi <sk at cs.brown.edu> wrote:
> Thanks for the very informative thread.
>
> Piecing together what Asumu, Jay, Robby, and Eli said, I think I
> understand what's going on, and I think this actually answers a
> question I asked last year and didn't get an answer to: Why do require
> and provide export their sub-forms as macros rather than just make
> them local keywords.
>
> What I understand now is that by exporting the sub-forms as macros,
> one can ensure that the binding structure is just right. I think this
> is what Jay means when he says "I consider insisting on bindings a
> feature, because it promotes well-behaved macros".
>
> The downside is that a single "feature" now has a whole bunch of
> exports, and anyone who wants to re-export the feature has to know
> about and re-export all the other bound names as well. For instance,
> I can't just re-export "require" -- I have to track all the require
> sub-forms and re-export those as well.
>
> Shriram
>
--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay
"The glory of God is Intelligence" - D&C 93