From: Randy Brukardt on
"Dmitry A. Kazakov" <mailbox(a)dmitry-kazakov.de> wrote in message
news:1tgn4av0s35bj.1xdkgm7hg8psa.dlg(a)40tude.net...
....
> > (Worse, the current string packages cannot be retrofitted to
> > use such a capability even if it was added to Ada, lessening the
possibility
> > of doing that.)
>
> Why is this a problem? Old packages could be re-implemented using new
> features with the specifications left as-is for backward compatibility.

Because there are plenty of people who will oppose adding better predefined
packages to the language, because the current ones are "good enough" and
more packages means more clutter and confusion for new Ada users.

I already ran into this once when we were discussing how to fix the problems
of the Unbounded_Strings package (it's not possible to do all operations
using only values of Unbounded_Strings - patterns, for instance have to be
regular strings. That means they have to be converted from Unbounded_String
to String in order to use them to search in an Unbounded_String -- that's
very ugly.) We only were able to make minor incremental changes, and there
was opposition to even those changes. And there was no support whatsoever
for a an improved version.

I'd expect the situation to change somewhat if we have lots of new features
to integrate, but we have a classic chicken-and-egg problem here: we're
probably not going to get those new features unless they can be used with
the string packages, but the string packages can't use those new features,
and there isn't interest in changing the packages in the absence of
significant new functionality.

Randy.