[antlr-interest] Runtime backwards compatibility
Gavin Lambert
antlr at mirality.co.nz
Sat Aug 9 19:33:54 PDT 2008
At 09:30 10/08/2008, Johannes Luber wrote:
>For C#, the GAC handles multiple versions of the runtime
(however
>one does install assemblies in the GAC...). Breaking API changes
>aren't thus propagated to users of earlier versions - at least
>that's I've heard, .NET should work. Never used that feature
>myself before, so, more knowledgeable people, correct me if
>I'm wrong.
That's my understanding of how it works (at least as long as the
assembly is strong-named, which is a requirement to be put into
the GAC), but I've never availed myself of this either, except to
note that multiple versions of the .NET Framework itself can be
installed side-by-side, and if they are then applications will
continue to run with the versions they were built with instead of
the latest ones. (However they *can* use later versions in the
absence of their desired ones -- but I think that's not automatic,
but instead because MS attach a manifest to the framework
explicitly permitting such use.)
In the case of the ANTLR runtimes, I've usually considered them to
be the sort that you'd deploy privately with the application
(whether as a .dll next to the app or statically linked to them),
rather than the sort that'd be centrally managed.
And I'm not convinced that centrally managed runtimes are all that
commonly flexible either -- in my (admittedly limited) experience
I've seen a number of programs in the Linux world refuse to work
with later versions of the CRT and other runtimes until they are
upgraded themselves.
>But at earliest 3.2 will have the features and general maturity
>to be called by me as the real first version which fulfills the
>promises of Ter.
Not until the lexer's been "fixed" :) (I know, I know, I do go on
about that.)
More information about the antlr-interest
mailing list