From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Access type to member procedure of instance (Object Oriented programming in Ada)
Date: Tue, 20 Nov 2012 15:51:41 -0600
Date: 2012-11-20T15:51:41-06:00 [thread overview]
Message-ID: <k8gu1e$a7a$1@munin.nbi.dk> (raw)
In-Reply-To: 1ilx4ms9xk5h8.pz5jsnqrogye.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:1ilx4ms9xk5h8.pz5jsnqrogye.dlg@40tude.net...
...
>No idea. It is a great mystery to me what makes into the language and what
>does not. Considering this one:
Obviously, you can read the AIs and the meeting minutes to find out why
things were done the way they are. That's one reason that the associated AIs
are linked in the AARM for every changed paragraph.
> 1. Why closures at all?
I assume we're talking about Ada's "prefixed views" (closures are something
else to me). A combination of popular demand and the fact that Ada 83
already had them for tasks.
> 2. Why some arguments are more important than others, unless the
> programmer
> specifies so?
No good reason, IMHO, other than that that was the way it worked for tasks
in Ada 83.
> 3. Why closures must support only tagged types?
We tried to allow prefixed views for all types, but we ran into problems
because Ada always allows an implicit conversion at a dot, and we didn't
want these to be different. In the end, we decided on restricting it to just
tagged types because the rules worked well with them. Almost all new types
ought to be tagged (and controlled) anyway [yes, I realize that some
language rules don't allow that in some cases - grumble].
One advantage of restricting prefixed views to tagged types is that it
leaves the door open for future extensions to other kinds of types. If we
allowed it on other kinds of types and got it wrong, we'd be stuck with it
forever (compatibility concerns would not allow us to change the meaning in
the future). And we certainly were not sure how the rules should work for
untagged types. So this is a case where doing nothing was better than doing
something we were not sure about.
Randy.
next prev parent reply other threads:[~2012-11-20 21:51 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-19 9:59 Access type to member procedure of instance (Object Oriented programming in Ada) ake.ragnar.dahlgren
2012-11-19 11:13 ` Georg Bauhaus
2012-11-19 11:39 ` Brian Drummond
2012-11-20 11:43 ` Brian Drummond
2012-11-20 21:57 ` Randy Brukardt
2012-11-19 13:03 ` sbelmont700
2012-11-19 16:18 ` Adam Beneschan
2012-11-19 17:02 ` Peter C. Chapin
2012-11-19 18:23 ` Adam Beneschan
2012-11-19 20:57 ` Peter C. Chapin
2012-11-19 21:26 ` Dmitry A. Kazakov
2012-11-19 22:19 ` Adam Beneschan
2012-11-20 10:12 ` Dmitry A. Kazakov
2012-11-20 21:51 ` Randy Brukardt [this message]
2012-11-21 8:24 ` Dmitry A. Kazakov
2012-11-21 22:19 ` Randy Brukardt
2012-11-20 10:59 ` Brian Drummond
2012-11-19 20:22 ` ake.ragnar.dahlgren
2012-11-20 11:16 ` Brian Drummond
2012-11-19 20:52 ` ake.ragnar.dahlgren
2012-11-19 21:56 ` Dmitry A. Kazakov
2012-11-22 9:49 ` ake.ragnar.dahlgren
2012-11-19 22:13 ` sbelmont700
2012-11-19 23:59 ` Randy Brukardt
2012-11-20 0:05 ` Randy Brukardt
2012-11-20 1:00 ` Adam Beneschan
2012-11-20 21:38 ` Randy Brukardt
2012-11-20 23:43 ` Adam Beneschan
2012-11-21 22:12 ` Randy Brukardt
2012-11-22 1:59 ` Adam Beneschan
2012-11-29 2:43 ` Randy Brukardt
2012-11-20 0:52 ` Adam Beneschan
2012-11-20 21:34 ` Randy Brukardt
2012-11-20 11:28 ` Brian Drummond
2012-11-20 14:27 ` Georg Bauhaus
2012-11-20 15:52 ` Adam Beneschan
2012-11-22 9:47 ` ake.ragnar.dahlgren
2012-11-22 10:25 ` Dmitry A. Kazakov
2012-12-02 20:42 ` ake.ragnar.dahlgren
2012-12-03 11:21 ` Dmitry A. Kazakov
2012-12-03 20:21 ` ake.ragnar.dahlgren
2012-12-03 22:15 ` Dmitry A. Kazakov
2012-12-25 21:51 ` Gustaf Thorslund
2012-12-26 18:11 ` ake.ragnar.dahlgren
2012-11-22 12:13 ` Brian Drummond
2012-12-03 16:17 ` ake.ragnar.dahlgren
2012-12-03 21:56 ` Brian Drummond
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox