[racket] syntax-parse and literals

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Sep 7 15:01:31 EDT 2011

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.)


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

"The glory of God is Intelligence" - D&C 93

Posted on the users mailing list.