comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Rational for not making cursor tagged in Containers
Date: Fri, 20 Apr 2007 12:15:43 +0200
Date: 2007-04-20T12:15:43+02:00	[thread overview]
Message-ID: <13n66zmsjvzqh$.1a3ql84jx6stn.dlg@40tude.net> (raw)
In-Reply-To: f0a0vi$7ii$1@cernne03.cern.ch

On Fri, 20 Apr 2007 11:26:08 +0200, Maciej Sobczak wrote:

> Dmitry A. Kazakov wrote:
> 
>> A confusion is in assumption that some arguments of an operation are more
>> arguments than others.
> 
> There is some rationale for this, however.
> With the traditionally abstract OO, operations are executed as a result 
> of messages that are sent to objects. Now that indeed gives some objects 
> more focus than others.
> 
> This:
> 
> a.op(b);
> 
> means (supposedly) that "op" message is sent to object "a" and the 
> payload of the message is "b".
> 
> I agree that it introduces some asymetry that is not necessarily needed.
> I mean - the above abstraction is not necessarily the best one, but 
> serves me well as an explanation of the a.op(b) issue.

Ah, yes, messaging is an interesting issue.

>> Another is that primitive operations belong to the
>> object (instance).
> 
> No, but it makes sense to think that they belong to the type of some object.

They do, if all arguments had the same type. But if they don't?

>> The third confusion raises from incompatibility of the
>> prefix notation with multi-methods and multiple dispatching operations.
> 
> True. But then, the above messaging abstractions needs to be extended to 
> cover "multicasts". :-)

That is one problem. Another is that you still have dedicated arguments,
i.e. ones marshaled (parameters) and ones referenced (recipients). But it
is not in Ada way to distinguish by-copy and by-reference. Why should
anybody care, why should it be syntactically highlighted? Another problem
is the sender. The sugar a.op(b) tells nothing about who issued the
message. While the paradigm tells about messages sent *between* objects.
This adds additional asymmetry, c, the sender is invisible and actually is
a context rather than object. I.e. there are three animals:

1. the recipient (a fully decorated object, blue blood)

2. the parameter[s] (value, hard-wired thing nobody knows what,
"non-tagged", as Ada calls it (:-))

3. the sender's context, which is even not a value.

Looks like a mess, even without multicasting, or messages with acknowledge,
or remote calls on local objects...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2007-04-20 10:15 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
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 [this message]
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