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 <[email protected]> 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 <[email protected]> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

