comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Rational for not making cursor tagged in Containers
Date: Sat, 21 Apr 2007 23:08:57 -0500
Date: 2007-04-21T23:08:57-05:00	[thread overview]
Message-ID: <f0en17$jr1$1@jacob-sparre.dk> (raw)
In-Reply-To: wcc8xclrz1j.fsf@shell01.TheWorld.com

"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
news:wcc8xclrz1j.fsf@shell01.TheWorld.com...
> "Randy Brukardt" <randy@rrsoftware.com> writes:
>
> > "Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
> > news:wccbqhizsh0.fsf@shell01.TheWorld.com...
> > ...
> >> I also thought (and continue to think) that array types should be
> >> allowed to have discriminants.  The quote above was a jab at people
> >> who thought otherwise.  I lost that argument.
> >
> > That would have been me. I think I was arguing simply from the
> > implementation complexity standpoint
>
> Implementation complexity for existing (Ada 83) implementations.
> A newly-designed implementation would have had no trouble.
> 20-20 hindsight!

That's probably true, but there were almost no new implementations. I think
GNAT was the only one. We forked our compiler, but we certainly did not
start from scratch. Implementing expression resolution once was enough (by
far!).

> I claim that it's much easier to implement Ada 95 than it is to
> implement Ada 83 and then adapt that implementation to Ada 95.

That has to be true, simply because there are rules in Ada 83 that don't
exist in Ada 95; clearly there is an effort to support those rules. But I
don't think it matters in any important practical way; most everything was
an addition, not a change.

> The same applies to 95/2005.  I sweated blood implementing the AI-318
> features (limited constructor functions) for Ada 2005 in GNAT, but I'm
> pretty sure that AI-318 would be no extra trouble in a from-scratch
> implementation of Ada 2005.

I suspect that you are being kind; it would be an amazing amount of work
either way. Passing finalization chains, task masters, and *moving* them is
outside of the normal intent in any language design - finalization chains
are pretty much the only way to implement that, no matter what bizarre
requirements are added in unusual cases. (My intent is simply to add a
number of new calling (sub)conventions; the only issue is if they are used
for any existing subprograms written in assembler. But those new conventions
will take a lot of work to make them work properly.) But the big gain in not
implementing Ada 95 would not be implementing all of that hair-brained
return-by-reference stuff.

                      Randy.





  reply	other threads:[~2007-04-22  4:08 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-19 16:05 Rational for not making cursor tagged in Containers Anh Vo
2007-04-19 18:25 ` Robert A Duff
2007-04-19 19:28   ` Anh Vo
2007-04-19 20:45     ` Robert A Duff
2007-04-19 21:43       ` Dmitry A. Kazakov
2007-04-19 23:59         ` Ray Blaak
2007-04-20  7:54           ` Dmitry A. Kazakov
2007-04-20 10:56             ` Georg Bauhaus
2007-04-20 10:39               ` Dmitry A. Kazakov
2007-04-20 14:42                 ` Georg Bauhaus
2007-04-20 14:45                   ` Georg Bauhaus
2007-04-20 15:13                   ` Dmitry A. Kazakov
2007-04-20 19:37                     ` Georg Bauhaus
2007-04-20 19:32                       ` Dmitry A. Kazakov
2007-04-20 20:59                         ` Robert A Duff
2007-04-20 22:14                           ` Dmitry A. Kazakov
2007-04-23 17:38                             ` Adam Beneschan
2007-04-23 19:18                               ` Dmitry A. Kazakov
2007-04-24  0:15                                 ` Adam Beneschan
2007-04-24 10:43                                   ` Dmitry A. Kazakov
2007-04-24 16:27                                     ` Adam Beneschan
2007-04-24 20:19                                       ` Dmitry A. Kazakov
2007-04-26  0:58                                         ` Adam Beneschan
2007-04-26  7:50                                           ` Dmitry A. Kazakov
2007-04-26  8:09                                             ` Markus E Leypold
2007-04-27  8:46                                               ` Dmitry A. Kazakov
2007-04-27 11:37                                                 ` Markus E Leypold
2007-04-28 17:35                                                   ` Dmitry A. Kazakov
2007-04-29  2:31                                                     ` Randy Brukardt
2007-04-29  8:45                                                       ` Dmitry A. Kazakov
2007-04-27 20:44                                               ` Robert A Duff
2007-04-26  8:33                                             ` Markus E Leypold
2007-04-26 11:09                                               ` Markus E Leypold
2007-04-20 19:55                       ` Randy Brukardt
2007-04-22  9:54                         ` Georg Bauhaus
2007-04-22 11:19                           ` Dmitry A. Kazakov
2007-04-20 20:44                       ` Robert A Duff
2007-04-21  5:38                         ` Randy Brukardt
2007-04-22  1:14                           ` Robert A Duff
2007-04-22  4:08                             ` Randy Brukardt [this message]
2007-04-20 20:11                     ` Randy Brukardt
2007-04-20 21:28                       ` Dmitry A. Kazakov
2007-04-21  5:33                         ` Randy Brukardt
2007-04-21  9:39                           ` Dmitry A. Kazakov
2007-04-22  4:28                             ` Randy Brukardt
2007-04-22  8:38                               ` Dmitry A. Kazakov
2007-04-23 23:26                                 ` Randy Brukardt
2007-04-24 10:43                                   ` Dmitry A. Kazakov
2007-04-24  8:58                                 ` Georg Bauhaus
2007-04-24 12:21                                   ` Dmitry A. Kazakov
2007-04-21  4:48                       ` unifying arrays and records (was Re: Rational for not making cursor tagged in Containers) Ray Blaak
2007-04-20 17:05             ` Rational for not making cursor tagged in Containers Ray Blaak
2007-04-20 18:46               ` Dmitry A. Kazakov
2007-04-20 18:52                 ` Ray Blaak
2007-04-20 19:54                   ` Robert A Duff
2007-04-20  1:18         ` Anh Vo
2007-04-20  7:53           ` Dmitry A. Kazakov
2007-04-20  9:26             ` Maciej Sobczak
2007-04-20 10:15               ` Dmitry A. Kazakov
2007-04-20 11:59           ` Jean-Pierre Rosen
2007-04-20 13:23             ` Anh Vo
2007-04-20 16:02               ` Jean-Pierre Rosen
2007-04-21  2:53                 ` Anh Vo
2007-04-20  3:03   ` Randy Brukardt
2007-04-20  2:53 ` Randy Brukardt
2007-04-20 16:08   ` Anh Vo
replies disabled

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