comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Augusta: An open source Ada 2012 compiler (someday?)
Date: Tue, 25 Mar 2014 15:47:35 -0500
Date: 2014-03-25T15:47:35-05:00	[thread overview]
Message-ID: <lgsq17$ene$1@loke.gir.dk> (raw)
In-Reply-To: alpine.DEB.2.10.1403251025030.10474@debian

<Stefan.Lucks@uni-weimar.de> wrote in message 
news:alpine.DEB.2.10.1403251025030.10474@debian...
>On Mon, 24 Mar 2014, Randy Brukardt wrote:
>
>> "J Kimball" <spam@example.com> wrote in message
>> news:lgopof$unl$1@loke.gir.dk...
>
>>> Ada has become the American tax code. It's becoming abundantly clear
>>> that there has to be a massive break in backward compatibility in the
>>> next revision of the language that makes writing compilers easier, not
>>> just keeping AdaCore in business, but breaking out of the framework of
>>> Ada 95.
>>
>> I'd be in favor of that, but I'm dubious that the customers that support
>> Ada would want to make that sort of change. And if the customers don't
>> come along, then there is little energy for anything to happen. After
>> all, most hobbyest driven projects tend to wane after a couple of years,
>> and that's not going to work for the sorts of long-lived projects that
>> Ada is best at.
>
>What about moving not-so-often used language features into an annex?
>
>Thus, if your customers demand the feature, you are allowed to support it.
>Furthermore, anyone supporting that feature would do so so in a completely
>compatible way.
>
>But if you don't want to support that feature, or you can't for some
>reason, you are allowed to support Ada 20XY without that annex.

This would work, but it wouldn't have any effect on simplifying the Standard 
(since the wording in the Standard would have to be prepared to handle the 
feature -- that's especially likely to be an issue for things like 
interfaces, which have an effect on virtually every definition in the 
Standard). And if one doesn't simplify the Standard, it's fairly unlikely 
that you're actually going to simplify implementation that much.

>As an example, I would consider interfaces. The support for multiple
>inheritance from "interface" could could be moved into an annex, and thus
>become optional for the language implementer. The key-word "interface"
>should remain reserved, for compatibility reasons.

Right.

But as always, the difficulty would be agreeing on what goes into such an 
index. I'd vote for interfaces and anonymous access types, but I'm sure the 
fans of those features would not be very happy. And they probably have some 
features that I find important that they think ought to be in the junk bin.

You'd be amazed at how hard it is to even move a feature into Annex J 
(Obsolescent Features), even those are required to be implemented. I'm still 
hearing flack about the decision to move aspect pragmas there, even though 
entity-specific pragmas was one of worst ideas ever known to mankind. :-)

                                    Randy.





  reply	other threads:[~2014-03-25 20:47 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 13:24 Augusta: An open source Ada 2012 compiler (someday?) Peter Chapin
2014-03-19 18:56 ` Tero Koskinen
2014-03-19 23:02   ` Peter Chapin
2014-03-20 18:13   ` Shark8
2014-03-20 22:41     ` Augusta: An open source Ada 2012 compiler (someday?) (Off topic) erlo
2014-03-20 23:21       ` Randy Brukardt
2014-03-19 23:04 ` Augusta: An open source Ada 2012 compiler (someday?) Brian Drummond
2014-03-19 23:24   ` Peter Chapin
2014-03-20  0:00     ` Brian Drummond
2014-03-20 18:35   ` Shark8
2014-03-22 14:30     ` Brian Drummond
2014-03-20 10:23 ` Lucretia
2014-03-20 10:49   ` J-P. Rosen
2014-03-20 23:15     ` Randy Brukardt
2014-03-24  8:18       ` J Kimball
2014-03-24  9:17         ` Thomas Løcke
2014-03-24 10:00           ` Brian Drummond
2014-03-24 14:16           ` Luke A. Guest
2014-03-24 12:51         ` Peter Chapin
2014-03-24 21:21         ` Randy Brukardt
2014-03-24 23:18           ` Dennis Lee Bieber
2014-03-24 23:50             ` J Kimball
2014-03-25  9:37           ` Stefan.Lucks
2014-03-25 20:47             ` Randy Brukardt [this message]
2014-03-25 19:41         ` Michael B.
2014-03-26  1:50           ` Shark8
2014-03-26 20:39             ` Simon Clubley
2014-03-27  9:32               ` Shark8
2014-03-27 20:02                 ` Simon Clubley
2014-03-27 20:38                   ` Lucretia
2014-03-27 21:51                     ` Niklas Holsti
2014-03-27 22:32                       ` Luke A. Guest
2014-03-28  5:12                         ` Shark8
2014-03-28  5:11                           ` J Kimball
2014-03-28  8:06                         ` Georg Bauhaus
2014-03-28 11:31                       ` Peter C. Chapin
2014-03-31 23:43                         ` Randy Brukardt
2014-03-28  8:56                     ` Dmitry A. Kazakov
2014-03-28 19:20                   ` Dan'l Miller
2014-03-28 20:40                     ` Dmitry A. Kazakov
2014-03-29 12:34                       ` Dan'l Miller
2014-03-29 13:36                         ` Dmitry A. Kazakov
2014-03-29 12:42                       ` Dan'l Miller
2014-03-29  0:15                     ` Peter Chapin
2014-03-29  3:39                       ` Shark8
2014-03-29  8:46                       ` Georg Bauhaus
2014-03-29 16:35                         ` Peter Chapin
2014-03-29  9:51                       ` Georg Bauhaus
2014-03-20 19:03   ` Shark8
2014-03-20 18:10 ` Shark8
2014-03-20 18:20   ` Qun-Ying
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox