This is the mail archive of the kawa@sourceware.cygnus.com mailing list for the Kawa project. See the Kawa home page for more information.
> I'm not sure if this is a bug in the DefMacro class or just my failure > to understand how scheme macros work. The latter. Or if you prefer: It's a limitation. First, I am deprecating string literals to name types. Instead of: "mpath.avalon.system.rmi.IRService" I recommend: <mpath.avalon.system.rmi.IRService> This is part of the effort to make types be first-class values. Second, there is no evaluation at macro-expand-time, so you can't use string-append. I have thought about changing the primtive-XXX macros to be actual functions. That would require changing the format from: (primitive-static-method <CLASS> "NAME" <RTYPE> (<ATYPE1> ...)) to: (primitive-static-method <CLASS> "NAME" <RTYPE> <ATYPE1> ...) A procedural interface would allow the <CLASS> to be computed at run-time. However, I want to have this be inlined to efficient bytecode invocation whenever the returned method is known at compile time. (Otherwise, the less efficient reflection feature is used.) I'm not sure how much extra compiler cleverness that would require - probably not very much, given recent changes I've made. --Per Bothner Cygnus Solutions bothner@cygnus.com http://www.cygnus.com/~bothner