comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Ada design bug or GNAT bug?
Date: Mon, 22 Jun 2015 11:27:16 -0700 (PDT)
Date: 2015-06-22T11:27:16-07:00	[thread overview]
Message-ID: <d4629c07-4005-4bd3-8fa6-85d088fb83c9@googlegroups.com> (raw)
In-Reply-To: <mm9h84$5n8$1@loke.gir.dk>

On Monday, June 22, 2015 at 11:39:17 AM UTC-6, Randy Brukardt wrote:
> 
> What part of "anonymous access types are evil" did you fail to understand?? 
> :-) The mistake I regret more than any other was allowing their use to be 
> expanded, for a purpose that doesn't really work, with semantics that are 
> far more complex than anyone really wanted.

Yes, anonymous accesses ARE pretty bad.
But this does bring up the question: what missteps have been made in Ada's design?

Here's a few I can think of: 
* Ada's lack of the ability to derive from a private type in the same package. (Aspects now allow us to specify the interface info [like Size or convention] at the point of declaration; arguably in a new language this would be required in some new Ada-derived language where the defaults are altered.)
* Ada's inability to define subtypes on an enumeration where the enumeration has a representation-clause in the private part.
* Ada95's modular types combine the orthogonal idea of a cyclic numeric type and an unsigned type -- conceptually it could have been better to separate the two.
* Ada95's Representation clauses lack the ability to specify byte-order, though they do offer bit-order.
* The lack of a "abstract type" that could be used to unify (e.g.) [[Wide_[Wide_]]String into a single "generic"/abstract type; ditto on Character.

  parent reply	other threads:[~2015-06-22 18:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-20 18:55 Ada design bug or GNAT bug? Dmitry A. Kazakov
2015-06-21  2:42 ` Randy Brukardt
2015-06-21  6:47   ` Dmitry A. Kazakov
2015-06-22 17:39     ` Randy Brukardt
2015-06-22 18:16       ` Dmitry A. Kazakov
2015-06-23 11:00         ` G.B.
2015-06-23 14:27           ` Dmitry A. Kazakov
2015-06-23 11:45         ` G.B.
2015-06-23 14:30           ` Dmitry A. Kazakov
2015-07-02 22:22         ` Randy Brukardt
2015-07-03  8:02           ` Dmitry A. Kazakov
2015-07-03 17:33             ` Randy Brukardt
2015-07-03 21:34               ` Dmitry A. Kazakov
2015-07-04  3:11                 ` Randy Brukardt
2015-07-04 12:14                   ` Dmitry A. Kazakov
2015-07-05  0:53                     ` Randy Brukardt
2015-06-22 18:27       ` Shark8 [this message]
2015-06-23 11:51         ` vincent.diemunsch
2015-06-23 19:55           ` Shark8
2015-06-23 13:06         ` vincent.diemunsch
2015-06-23 14:30           ` David Botton
2015-06-23 15:57             ` Niklas Holsti
2015-06-23 16:01               ` G.B.
2015-06-23 18:05               ` David Botton
2015-06-23 19:38               ` David Botton
2015-06-23 14:38           ` Dmitry A. Kazakov
2015-06-23 16:57             ` Vincent
2015-06-23 17:15               ` Dmitry A. Kazakov
2015-06-23 19:14                 ` vincent.diemunsch
2015-06-23 19:33                   ` Dmitry A. Kazakov
2015-06-23 17:42           ` Jeffrey R. Carter
2015-07-02 22:06           ` Randy Brukardt
2015-07-04  1:52             ` Shark8
2015-07-04  3:24               ` Randy Brukardt
2015-07-04 11:02                 ` Build-in-place semantics? (Was: Ada design bug or GNAT bug?) Jacob Sparre Andersen
2015-07-04 12:15                   ` Dmitry A. Kazakov
2015-07-05  0:45                     ` Randy Brukardt
2015-07-05  7:10                       ` Dmitry A. Kazakov
2015-07-05  0:40                   ` Randy Brukardt
2015-07-04 14:05                 ` Ada design bug or GNAT bug? Bob Duff
2015-07-04  7:46               ` Simon Wright
2015-07-04 12:00                 ` Björn Lundin
2015-07-05  0:48                   ` Randy Brukardt
2015-07-06 12:37             ` Vincent
2015-07-06 20:05               ` Randy Brukardt
2015-07-07  8:06               ` Dmitry A. Kazakov
replies disabled

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