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 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

