On Friday 04 October 2002 09:04, Brian Ingerson wrote: > I've been thinking about the following related things: > > - How to support multiple implementations of the same language. > - How to support multiple glue layers in a single language. > - How to support different parsers in a language.
Brian wrote: > defining an API for plugging in parsers and glue layers. > Inline::C::Faster and Inline::C::SWIG Like Nicholas, I like the setup in some sort of config file. The problem with Inline::C::Faster is that one doesn't know (by only reading the name) if it is another implementation, another parser or another glue layer. > - How to make the Inline API more formal. I don't understand this. could you please explain what you want to achieve. > - How to stay 90% backwards compatible. Warning, backward compatibility ahead! If a major refactoring is to break backward compatibility then let it break. This is IMHO the only way to have a sound design in the re-factored code. Now this might sound like users with legacy code are to pay for this, they do not. Legacy code owners still have the old libs those libs can still be made better (may be by using some part of the new design). The important point is to have the ability to run both parallely. This is what COM, for example, does, a facility can offer multiple interface versions co-existing in the same objects My 2 XP cents. Nadim
