From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: The old "Object.Method" syntax debate
Date: Sun, 25 May 2003 11:13:08 +0200
Date: 2003-05-25T11:13:08+02:00 [thread overview]
Message-ID: <baq1b0$26g25$3@ID-77047.news.dfncis.de> (raw)
In-Reply-To: 3ED056CB.8000200@attbi.com
Robert I. Eachus wrote:
> Alexander Kopilovitch wrote:
>> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>>
>>>Anyway prefix syntax exists also in the form of attributes.
>>
>> Yes, but attributes cannot be introduced by user -- sometimes programmer
>> can provide an implementation of an attribute, but isn't permitted to
>> introduce his own attribute... this is a privilege for language designers
>> and compiler vendors.
>> (An apostrophe often is no more visible that a dot, but its upper
>> position in the line suggests that the following attribute somehow came
>> from a high authority -:) .
>
> 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.
However it is also a step into abstract record types. Consider:
type Complex is private;
function Complex.Im return Real;
function Complex.Re return Real;
Here Complex appears a record type with read-only members Im and Re, being
internally something else (a polar complex number).
> 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.
To have X'Image instead of T'Image (X)? That is too good to become a
reality. (:-))
> 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.)
Actually there should be an ability to declare/rename a subroutine in any of
the following formats:
1. Functional: F (...)
2. Postfix: X.F (...)
3. Attribute: X'F (...)
4. Operational: X + Y
5. Index: X (...)
6. Aggregate: (...)
7. Constructor: X : T (...) and new T (...)
For both 2 and 3 the language should not allow other arguments be either
dispatching or of the same type as the dedicated argument.
--
Regards,
Dmitry A. Kazakov
www.dmitry-kazakov.de
next prev parent reply other threads:[~2003-05-25 9:13 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 [this message]
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
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