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

Reply via email to