From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Overring function and its returned type
Date: Fri, 09 Nov 2012 10:14:32 +0100
Date: 2012-11-09T10:14:32+01:00 [thread overview]
Message-ID: <op.wnh1aik1ule2fv@cardamome> (raw)
In-Reply-To: 1vej4u29b8e4z$.289wazkl31wg$.dlg@40tude.net
Le Fri, 09 Nov 2012 09:24:18 +0100, Dmitry A. Kazakov
<mailbox@dmitry-kazakov.de> a écrit:
> On Fri, 09 Nov 2012 08:13:23 +0100, Yannick Duchêne (Hibou57) wrote:
>
>> overriding
>> function F
>> (E : T)
>> return R'Class -- Not overriding :-(
>> is abstract;
>
> What is this? "overriding" + "abstract" does not make sense.
Overriding sometime do nothing, just remind something, recall an inherited
definition explicitly. Not the same, but a bit comparable to subtyping
used for type renaming (except I hate the latter and rather like the
former).
Overriding may also be used to add a postcondition or replace a class wide
precondition by another.
I you prefer, you can instead think of `P3.F` returning `P3.R'Class`
instead of `P1.R'Class`, which would be overriding in the strict way you
expect.
> In any case it is the default. When you do nothing, you get F through
> inheritance and it is abstract when the parent's F was.
I know, but sometime you want something more explicit.
> Ada's declarations are not idempotent, in the sense that you cannot
> repeat
> them like you could in C++. So "F ... is abstract" always
> overloads/conflicts.
I don't get conflict when it happens I do it, it works fine.
> P.S. They should really have used the syntax with the keyword
> "overriding"
> trailing behind "is" rather than preceding "function/procedure."
Matter of taste. Personally, it happens I think I would have preferred
“new” instead of “not overriding”, but I don't mind too much. That's to be
added to the list of tiny things which may be nice, but not required.
--
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University
next prev parent reply other threads:[~2012-11-16 9:09 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-09 7:13 Overring function and its returned type Yannick Duchêne (Hibou57)
2012-11-09 7:22 ` Yannick Duchêne (Hibou57)
2012-11-09 8:24 ` Dmitry A. Kazakov
2012-11-09 9:14 ` Yannick Duchêne (Hibou57) [this message]
2012-11-09 13:11 ` Dmitry A. Kazakov
2012-11-09 21:36 ` Yannick Duchêne (Hibou57)
2012-11-09 19:24 ` Adam Beneschan
2012-11-09 19:34 ` Adam Beneschan
2012-11-09 22:00 ` J-P. Rosen
2012-11-09 22:30 ` Yannick Duchêne (Hibou57)
2012-11-09 19:57 ` sbelmont700
2012-11-09 21:10 ` Yannick Duchêne (Hibou57)
2012-11-09 21:56 ` sbelmont700
2012-11-10 0:28 ` Yannick Duchêne (Hibou57)
2012-11-10 2:35 ` Yannick Duchêne (Hibou57)
2012-11-15 15:13 ` Peter C. Chapin
2012-11-16 10:40 ` Maciej Sobczak
2012-11-16 12:39 ` Peter C. Chapin
2012-11-16 15:27 ` Maciej Sobczak
2012-11-16 17:29 ` Peter C. Chapin
2012-11-17 4:16 ` Yannick Duchêne (Hibou57)
2012-11-17 19:11 ` Robert A Duff
2012-11-18 14:53 ` AdaMagica
2012-11-19 8:41 ` Yannick Duchêne (Hibou57)
2012-11-19 13:04 ` AdaMagica
2012-11-19 15:19 ` Dmitry A. Kazakov
2012-11-19 23:42 ` Randy Brukardt
2012-11-10 7:55 ` Randy Brukardt
2012-11-11 1:02 ` Yannick Duchêne (Hibou57)
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox