comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Limited use for limited with?
Date: Tue, 28 Sep 2010 05:59:59 -0700 (PDT)
Date: 2010-09-28T05:59:59-07:00	[thread overview]
Message-ID: <36e886fa-b272-461f-bf86-a6b18366b64f@i5g2000yqe.googlegroups.com> (raw)
In-Reply-To: f7b952cc-bc96-4e4c-ae72-ba08ca1e3445@i13g2000yqd.googlegroups.com

On 28 Wrz, 11:18, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:

> I generally think twice or three times before declaring an access type
> in the same package as the object type. In fact, I think twice before
> declaring any access type at all :)

So let's say that I already did the thinking and the most prevalent
use case for access types is callback registration.

Think about AWS dispatchers for the closest analogy.
In fact, the AWS.Server.Start procedure has a version that takes the
callback by access. It is an access to function, but I need it to be
object-oriented.

Hiding the use of access values behind the scenes (by virtue of tagged
types being always passed by reference) would obstruct the code
without clear benefit. This is what AWS does in its other versions of
Start, but I don't like it.

I want to express this:

1. Object is an interface type for the callback that will be
implemented by user.
2. Object_Access is a type that will be used for declaring and passing
around callback references. I don't want everybody to define their own
types for what is a common functionality.

I totally agree that in Ada the pressure for using access values is
much smaller than in C++, but object registration (in a map, perhaps)
is not addressed by any other language feature.

BTW - it is exactly for the fact that there is little need for dynamic
allocation that Object_Access has to be "access all" and not just
"access".

Should I drop the Object_Access type altogether and mess with locally-
defined access types in other parts of the code?

--
Maciej Sobczak * http://www.inspirel.com



  reply	other threads:[~2010-09-28 12:59 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-28  7:37 Limited use for limited with? Maciej Sobczak
2010-09-28  9:04 ` Alex R. Mosteo
2010-09-30  7:24   ` Stephen Leake
2010-09-30  9:21     ` Alex R. Mosteo
2010-09-28  9:18 ` Ludovic Brenta
2010-09-28 12:59   ` Maciej Sobczak [this message]
2010-09-28 13:45     ` Dmitry A. Kazakov
2010-09-28 21:57       ` Maciej Sobczak
2010-09-29  6:03         ` Ludovic Brenta
2010-09-29  8:25           ` Maciej Sobczak
2010-09-29  7:51         ` Dmitry A. Kazakov
2010-09-29  8:38           ` Maciej Sobczak
2010-09-29  9:16             ` Dmitry A. Kazakov
2010-09-29 12:22               ` Maciej Sobczak
2010-09-29 13:41                 ` Dmitry A. Kazakov
2010-09-29 15:07                   ` Georg Bauhaus
2010-09-29 19:22                     ` Dmitry A. Kazakov
2010-09-29 20:51                   ` Maciej Sobczak
2010-09-29 21:18                     ` Dmitry A. Kazakov
2010-10-05  7:35                     ` Randy Brukardt
2010-10-08  8:05                       ` Maciej Sobczak
2010-10-09  6:29                         ` Randy Brukardt
2010-10-05  7:25             ` Randy Brukardt
2010-10-08  8:23               ` Maciej Sobczak
2010-10-09  6:13                 ` Randy Brukardt
2010-10-10 14:13                   ` Maciej Sobczak
2010-10-11  6:23                     ` Randy Brukardt
2010-10-12 19:29                       ` Maciej Sobczak
2010-10-12 20:19                         ` Dmitry A. Kazakov
2010-10-13  2:09                         ` Randy Brukardt
2010-10-13  8:44                           ` Georg Bauhaus
2010-10-15  0:59                             ` Randy Brukardt
2010-10-13  9:43                           ` Maciej Sobczak
2010-09-28 15:15     ` Ludovic Brenta
2010-09-28 22:04       ` Maciej Sobczak
2010-09-28 15:54   ` Robert A Duff
2010-09-30  7:27   ` Stephen Leake
2010-09-30  7:33     ` Ludovic Brenta
2010-09-30 16:03     ` Adam Beneschan
2010-10-07 11:55       ` Stephen Leake
2010-10-07 18:27         ` Martin Krischik
2010-10-07 21:30           ` Adam Beneschan
2010-10-09  6:29             ` Martin Krischik
2010-10-09 18:35               ` Robert A Duff
2010-10-08  0:07           ` Randy Brukardt
2010-10-09  6:21             ` Martin Krischik
2010-09-28  9:32 ` Vadim Godunko
2010-09-28 11:34 ` stefan-lucks
2010-09-28 13:15   ` stefan-lucks
2010-09-28 16:55 ` Adam Beneschan
2010-09-28 17:31   ` Robert A Duff
2010-09-28 19:24     ` Adam Beneschan
2010-09-28 20:32       ` Vadim Godunko
2010-09-28 21:32         ` Adam Beneschan
replies disabled

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