comp.lang.ada
 help / color / mirror / Atom feed
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.





  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