comp.lang.ada
 help / color / mirror / Atom feed
From: aek@vib.usr.pu.ru (Alexander Kopilovitch)
Subject: Re: The old "Object.Method" syntax debate
Date: 27 May 2003 20:02:21 -0700
Date: 2003-05-28T03:02:22+00:00	[thread overview]
Message-ID: <e2e5731a.0305271902.4993e9ea@posting.google.com> (raw)
In-Reply-To: 3ED056CB.8000200@attbi.com

Robert I. Eachus wrote:
>I really don't like the idea of allowing the Object.Operation format to
>Ada.  Yeah, the compilers can usually figure it out understand it. But
>the potential confusion with component notation is going to confuse
>experienced Ada users.  (And eventually other O-O language users when
>the actually run into component references.

I agree that there may be those troubles with this notation, but there are
significant gains also. Potential confusion with component is one side of
this change, but another side is abstraction step for the concept of component.
In other words, there are cases where it is significant to know that a member
of composite type is really represented by corresponding data element; but
there are plenty of cases where flexibility is more desirable, that is, our
layer should not depend on whether that member actually has consolidated
reprepsentation in memory or it is computed on demand.
  Real problem with this "object notation" for operations in Ada is that there
is no clear understanding where this notation is for good and where it is for
evil. AI-252 mentions "controlling" object, and yes, there are plenty of cases
where we really have some controlling object, and in those cases that "object
notation" often are justified (after all, in such cases this notation actually
carries useful information, explicitly pointing out at the controlling object).
But unfortunately there is very big "grey zone" where controlling objects are
doubtful, and there are many cases without natural controlling objects at all.

>Since the language currently allows defining attributes which are
>procedures or functions, why not use the apostrophe notation?  Now the
>meaning of Object'Operation is clear, even when it is actually
>Object'Length or whatever.  Probably need a rule about overloading
>predefined attributes, but that shouldn't be such a big deal.  (They
>would be non-overridable declarations in scope.)

I think that it would be wrong to take away that exclusive privilege --
to introduce attributes -- from the language designers and compiler vendors.
The name space for attributes is too important language resource, it should
not be given out freely for general use.
  How about another character instead of apostrophe (or dot) for user-defined
attributes? For example, there is quite popular # (read "join" for this purpose):
 Object#Operation 
("controlling object" somehow associates with "base" -:)


Alexander Kopilovitch                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia



  parent reply	other threads:[~2003-05-28  3:02 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-21 15:26 The old "Object.Method" syntax debate Marc A. Criley
2003-05-21 15:47 ` David C. Hoos
2003-05-21 16:21   ` Jacob Sparre Andersen
2003-05-21 16:34     ` Robert A Duff
2003-05-21 16:43       ` Preben Randhol
2003-05-21 17:13         ` Robert A Duff
2003-05-21 17:13         ` David C. Hoos
2003-05-21 18:21           ` Preben Randhol
2003-05-21 19:43             ` David C. Hoos
2003-05-21 20:36               ` Preben Randhol
2003-05-22  3:24                 ` David C. Hoos
2003-05-22  2:31             ` Alexander Kopilovitch
2003-05-21 18:32           ` Preben Randhol
2003-05-22  9:41       ` Xavier Nicollin
2003-05-22 14:56         ` Robert A Duff
2003-05-22 16:02           ` Xavier Nicollin
2003-05-23  2:56         ` Wesley Groleau
2003-05-21 16:50     ` David C. Hoos
2003-05-21 16:36   ` Preben Randhol
2003-05-21 16:55     ` Vinzent Hoefler
2003-05-21 18:03       ` Preben Randhol
2003-05-21 18:17         ` David C. Hoos
2003-05-21 18:22           ` Preben Randhol
2003-05-21 20:53             ` tmoran
2003-05-22  2:11               ` Preben Randhol
2003-05-22  4:04                 ` Dale Stanbrough
2003-05-22  7:34         ` Ole-Hjalmar Kristensen
2003-05-23  0:35         ` Hyman Rosen
2003-05-21 17:02   ` David C. Hoos
2003-05-21 17:55   ` Warren W. Gay VE3WWG
2003-05-21 19:54   ` Bobby D. Bryant
2003-05-21 20:37     ` Preben Randhol
2003-05-22 14:32   ` Rodrigo Garcia
2003-05-22 15:39     ` David C. Hoos
2003-05-23  7:49       ` Rodrigo Garcia
2003-05-23  8:34         ` Dmitry A. Kazakov
2003-05-23 18:35           ` Alexander Kopilovitch
2003-05-25  5:38             ` Robert I. Eachus
2003-05-25  9:13               ` Dmitry A. Kazakov
2003-05-27  9:50                 ` John McCabe
2003-05-27 16:02                   ` Warren W. Gay VE3WWG
2003-05-28  8:24                   ` Dmitry A. Kazakov
2003-05-28 12:36                     ` Lutz Donnerhacke
2003-05-28 13:14                       ` Preben Randhol
2003-05-28 15:01                         ` Lutz Donnerhacke
2003-05-29  9:17                       ` Dmitry A. Kazakov
2003-05-30 10:41                         ` Lutz Donnerhacke
2003-05-30 20:13                           ` Randy Brukardt
2003-06-02  9:11                             ` Lutz Donnerhacke
2003-05-31  9:29                           ` Dmitry A. Kazakov
2003-05-28  3:02               ` Alexander Kopilovitch [this message]
2003-05-28  8:07                 ` John McCabe
2003-05-29  0:55                   ` Alexander Kopilovitch
2003-05-22 17:03     ` Gautier Write-only
2003-05-23 14:43   ` Steve
2003-05-23 14:51     ` Preben Randhol
2003-05-23 15:21     ` John McCabe
2003-05-23 23:43     ` Robert A Duff
2003-05-25  5:42     ` Hyman Rosen
2003-05-25 14:40       ` Steve
2003-05-25 21:21         ` Gautier Write-only
2003-05-23  7:58 ` John McCabe
2003-05-23  8:39   ` Preben Randhol
2003-05-23 15:12     ` John McCabe
2003-05-23 15:18       ` Preben Randhol
2003-05-23 17:32     ` Stephen Leake
2003-05-27  9:09       ` John McCabe
2003-05-28 11:47       ` Georg Bauhaus
2003-05-28 16:14         ` Stephen Leake
2003-05-28 18:23           ` Georg Bauhaus
2003-05-23 20:45 ` steve_H
  -- strict thread matches above, loose matches on Subject: below --
2003-05-23 17:39 Lionel.DRAGHI
2003-05-23 17:59 Lionel.DRAGHI
2003-05-27  9:17 ` John McCabe
2003-06-03 17:23 Lionel.DRAGHI
2003-06-04  8:27 ` John McCabe
replies disabled

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