On Mon, Apr 14, 2008 at 11:14:26PM -0400, Marc Feeley wrote:
And if you are wondering how the ##car procedure is implemented, then it goes roughly like this:
Why have a ##car Scheme procedure at all, if the calls to ##car in situations like your other example are inlined by the compiler? The only reason I can think of is "so calls to ##car work from procedures without extended bindings". If that's the reason, are those calls inlined also? That is, does the extended-bindings declaration cause optimization across procedures?
About the ## prefix in general, I thought of another question. Which procedures' interfaces (argument number and types) are guaranteed not to change, and which have no guarantee? Obviously standard procedures are constrained by the standard, but there's the rest of the public namespace to consider, the entire ## namespace, and other namespaces (though in practice I doubt people have to worry about them).
-- Derek