From: dmitry@elros.cbb-automation.de (Dmitry A. Kazakov)
Subject: Re: Ada2005
Date: Tue, 18 Dec 2001 11:55:31 GMT
Date: 2001-12-18T11:55:31+00:00 [thread overview]
Message-ID: <3c1f292d.11941015@News.CIS.DFN.DE> (raw)
In-Reply-To: uvgf5rb15.fsf@telus.net
On 17 Dec 2001 09:50:30 -0800, Ray Blaak <blaak@telus.net> wrote:
>dmitry@elros.cbb-automation.de (Dmitry A. Kazakov) writes:
>> However, what people criticizing Ada usualy want, is just a syntax
>> sugar, which would allow to refer methods using postfix form if there
>> is only one dispatching [or class-wide] argument and it is the first
>> one.
>
>Like me.
>
>> I think in a future revision there could be some variant of rename
>> statement which would allow to do this and also the opposite thing
>> [for "methods" of protected objects and tasks which are always called
>> using the postfix form]. For instance:
>>
>> type Ellipse is tagged ...
>> procedure Draw (Figure : Ellipse, Where : Point);
>> entry Ellipse.Draw (Where : Point) renames Draw;
>
>Why not make it automatic? The extra declaration is tedious and requires extra
>maintenance.
>
>Given:
>
> e : Ellipse;
>
>then have
>
> e.Draw(p)
>
>be valid iff Draw exists with an Ellipse as its first parameter.
Maybe. Though, then you should allow funny constructions like:
e."abs", when function "abs" (X: Ellipse) return ... is defined. Also
you should support fully qualified forms like:
e.Geometry.Flat.Figures.Conic.Float_Figures.Ellipse.Draw (p);
>Then it is truly just an alternate syntax to be used if desired, and not used
>if not.
>
>Where it gets wierd, I suppose, is if one has an "in out" or "out"
>parameter. One wants to allow update methods, but does e.Draw(p) make sense if
>e is completely replaced?
Neither "in out" nor "out" mean that the argument is replaced. It
depends on by-copy vs. by-reference parameter passing mode. Though,
for tagged types by-reference is a requirement [to support redispatch,
I suppose (:-()].
procedure Draw (Figure : Ellipse, Where : Point); is an equivalent to
C++
virtual void Draw (Point Where) const;
procedure Draw (Figure : in out Ellipse, Where : Point); is an
equivalent to
virtual void Draw (Point Where);
Only for "out" C++ has no analogy.
Regards,
Dmitry Kazakov
next prev parent reply other threads:[~2001-12-18 11:55 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-11 9:33 Ada2005 Peter Hermann
2001-12-11 11:05 ` Ada2005 M. A. Alves
2001-12-11 11:55 ` Ada2005 Aaro Koskinen
2001-12-11 14:49 ` Ada2005 Wes Groleau
2001-12-11 14:58 ` Ada2005 Marin David Condic
2001-12-11 15:18 ` Ada2005 Ted Dennison
2001-12-12 8:37 ` Ada2005 Alfred Hilscher
2001-12-11 11:23 ` Ada2005 Martin Dowie
2001-12-11 11:54 ` Ada2005 Preben Randhol
2001-12-11 12:06 ` Ada2005 Larry Kilgallen
2001-12-11 14:39 ` Ada2005 Ted Dennison
2001-12-12 4:39 ` Ada2005 Jeffrey Carter
2001-12-13 18:39 ` Ada2005 Randy Brukardt
2001-12-12 11:29 ` Ada2005 Peter Hermann
2001-12-12 12:42 ` Ada2005 Larry Kilgallen
2001-12-12 12:51 ` Ada2005 Martin Dowie
2001-12-12 12:59 ` Ada2005 Carsten Freining
2001-12-12 14:40 ` Ada2005 Peter Hermann
2001-12-12 15:16 ` Ada2005 Ted Dennison
2001-12-12 15:37 ` Ada2005 Larry Kilgallen
2001-12-12 17:49 ` Ada2005 Ted Dennison
2001-12-12 18:02 ` Ada2005 tmoran
2001-12-12 18:17 ` Ada2005 Ted Dennison
2001-12-12 18:31 ` Ada2005 Sergey Koshcheyev
2001-12-12 19:08 ` Ada2005 Ted Dennison
2001-12-12 18:14 ` Ada2005 Mark Lundquist
2001-12-12 18:40 ` Ada2005 Ted Dennison
2001-12-12 19:12 ` Ada2005 Mark Lundquist
2001-12-12 19:41 ` Ada2005 Ted Dennison
2001-12-13 20:07 ` Ada2005 Ted Dennison
2001-12-14 4:40 ` Ada2005 Patrick Hohmeyer
2001-12-14 9:55 ` Ada2005 Lutz Donnerhacke
2001-12-14 10:36 ` Ada2005 Dmitry A. Kazakov
2001-12-17 18:40 ` Ada2005 Matthew Heaney
2001-12-12 18:04 ` Ada2005 Mark Lundquist
2001-12-12 21:25 ` Ada2005 Mark Lundquist
2001-12-13 18:40 ` Ada2005 Stephen Leake
2001-12-13 19:01 ` Ada2005 Mark Lundquist
2001-12-14 17:17 ` Ada2005 Stephen Leake
2001-12-13 9:11 ` Ada2005 Dmitry A. Kazakov
2001-12-17 17:50 ` Ada2005 Ray Blaak
2001-12-18 11:55 ` Dmitry A. Kazakov [this message]
2001-12-18 19:51 ` Ada2005 Ray Blaak
2001-12-19 8:34 ` Ada2005 Dmitry A. Kazakov
2001-12-19 13:30 ` Ada2005 Mark Lundquist
2001-12-19 18:23 ` Ada2005 Ray Blaak
2001-12-19 18:20 ` Ada2005 Mark Lundquist
2001-12-19 19:19 ` Ada2005 Ray Blaak
2001-12-20 14:17 ` Ada2005 Dmitry A. Kazakov
2001-12-20 11:24 ` Ada2005 Carsten Freining
2001-12-20 14:27 ` Ada2005 Mark Lundquist
2001-12-20 15:01 ` Ada2005 Matthew Woodcraft
2001-12-20 15:45 ` Ada2005 Mark Lundquist
2001-12-20 16:20 ` Ada2005 Mark Lundquist
2001-12-13 18:13 ` Ada2005 Georg Bauhaus
2001-12-20 16:34 ` Math Libraries (was Re: Ada2005) Marin David Condic
2001-12-20 20:14 ` FGD
2001-12-20 20:34 ` Marin David Condic
2001-12-21 17:21 ` FGD
2001-12-21 18:08 ` Marin David Condic
2001-12-21 19:40 ` tmoran
2001-12-21 19:45 ` Marin David Condic
2001-12-21 20:35 ` Dan Nagle
2001-12-21 20:31 ` Eric Merritt
2001-12-22 16:56 ` Math Update for Ada 2005 Steven Deller
2001-12-23 15:13 ` Robert Dewar
2001-12-23 22:43 ` Brian Rogoff
2001-12-22 21:48 ` Math Libraries (was Re: Ada2005) FGD
2002-01-02 14:20 ` Jacob Sparre Andersen
2001-12-20 23:20 ` Robert C. Leif, Ph.D.
2001-12-21 14:49 ` Marin David Condic
-- strict thread matches above, loose matches on Subject: below --
2001-12-12 14:05 Ada2005 Peter Hermann
2002-12-17 7:15 Ada2005 Karel Miklav
2002-12-17 11:43 ` Ada2005 Peter Amey
2002-12-17 15:11 ` Ada2005 Robert A Duff
2002-12-17 14:14 ` Ada2005 Ted Dennison
2002-12-17 15:54 ` Ada2005 Peter Hermann
2002-12-18 9:04 ` Ada2005 Anders Wirzenius
2002-12-18 14:48 ` Ada2005 Ted Dennison
2002-12-19 9:01 ` Ada2005 Anders Wirzenius
2005-03-24 14:36 Ada2005 Szymon Guz
2005-03-24 15:30 ` Ada2005 Xaelis
2005-03-24 15:32 ` Ada2005 Larry Kilgallen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox