This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++ "with" keyword


Robert Dewar writes:
 > > See Algol 68 for what happens if you do it the other way...
 > 
 > I am willing to bet that this comment is made with *ZERO* knowledge
 > about Algol-68.

Believe that if you wish.  I'm not a betting man.  The Algol 68
language had no implementations when it was standardized -- AFAIK the
first delivery was 1977!

 > In fact the Algol-68 standard was remarkably complete and
 > successful, and in environments where full Algol-69 compilers
 > became available (notably on the ICL-9000 and CDC-6000 series
 > machines it was widely used). The issue of why it was not more
 > successful is a commercial/marketing one, which had very little if
 > anything to do with the way the standard was produced.

To quote Lindsey's official history: "...why it did not come into more
widespread use, and the answer here is simple enough: because it was
not implemented widely enough, or soon enough.  And the reason for
that is that implementation was too hard..."  This would not have been
the case if implementations had existed at the time of
standardization.

 > Another danger of course is that if a half baked feature is
 > implemented, then it gets stuck and never removed (we will in
 > fact remove the "WITH TYPE" feature in GNAT when a better
 > substitute comes along, even though it will discombobulate
 > people). It is too easy to argue for keeping junk stuff around
 > for compatibility reasons (witness recent thread here in which
 > some argued that junk illegal semicolons should be accepted in
 > C++ due to the existence of incorrect code :-)

Yes, but it's a lot easier to remove a feature from a compiler than
from a standard.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]