
Joel de Guzman wrote:
Hi,
I like the idea behind the Interfaces Library: http://www.kangaroologic.com/interfaces/
I need one now. I dislike the macro-based Interface Definition Language, however. I find it utterly ugly especially because interfaces should be immediately readable. IMO, the macro-based IDL is not.
I agree that the current macro-based IDL is hard to read. There have been some good suggestion on this about improving it, however. Have you looked at the template-based IDL: http://tinyurl.com/6w59y? I haven't implemented it yet, but it's at the top of my list. I've also been looking for a way to redesign the protocol so that hand-written interfaces will be resonable intelligible, but I haven't had much luck; it looks like you may have solved this.
Here's another take (prototype) at a macro less implementation of the interfaces (see attached). Tested on VC7.1, g++ and Comeau. The biggest advantage is that the same C++ member function interface syntax is retained. This makes it very easy to understand and even allows documentation extraction tools like Doxygen to work as usual. A disadvantage is that there is some unavoidable redundancy-- a lesser price to pay, IMO.
It looks very promising! I'll won't have a chance to examine it in detail until at least tomorrow. Jonathan