comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: The old "Object.Method" syntax debate
Date: Thu, 29 May 2003 11:17:20 +0200
Date: 2003-05-29T11:17:20+02:00	[thread overview]
Message-ID: <bb4j2e$5juvr$3@ID-77047.news.dfncis.de> (raw)
In-Reply-To: slrnbd9b9s.nt.lutz@taranis.iks-jena.de

Lutz Donnerhacke wrote:

> * Dmitry A. Kazakov wrote:
>> However, overriding attributes raises an interestring question of making
>> everything that could appear on the left side of an attribute a
>> first-class object.
> 
> Furthermore it allows an envolving solution to the original question:
> 
> Drop the restriction which attributes are allowed. Several attributes
> might have a predefined meaning, but other than the predefined attributes
> might be allowed in Ada200x.
> 
> So if you want to apply an 'object.method' syntax, do
> 
>   type object ...;
>   procedure method(a : in out object; ...);
>   for object'method use method;

Or better

object'method renames method;

Now if you do not want to expose method, you would need a sort of private 
renaming:

   object'method renames private;
private
   procedure method(a : in out object; ...);
   object'method renames method;


> But there are more important features missing an Ada 95:
> ************************************************************************
> Newsgroups: comp.lang.ada
> Subject: AdaYY wish list from current projects
> Organization: IKS GmbH Jena
> Message-ID: <96ulad$r9e$1@belenus.iks-jena.de>
> 
> I have three sad problems (and a bonus problem) from my current projects.
> If they can fixed by a compiler it would be very fine:
> 
> Problem 1: Pointer of component => Pointer to aggregate

Solved with MI = Class-wide pointer -> Dispatch

> Problem 2: Defining Byte_Order of record representations

I didn'tunderstand this. Why Value := Low + High * 256 is unsufficient. I 
never had problems in passing integers over sockets. But I admit, I know no 
solution for an efficient dealing with floats (in binary format).

> Problem 3: Static expressions of discriminants in record representations

Yes it is a pain. But the major problem as I see it is breaking separation 
of implementation and interface by discriminants. Clearly there has to be 
public and private (implementational) discriminants. Later deduced from 
former. With true constructors this could be solved.

> Problem 4: Single task packages

My problem is that task and protected types are not tagged and so fall out 
of type hierarchy. Then I would like to have "accept"-procedures (with task 
object as a parameter) in addition to the accept statement.

-- 
Regards,
Dmitry A. Kazakov
www.dmitry-kazakov.de



  parent reply	other threads:[~2003-05-29  9:17 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 [this message]
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