From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Functions vs constants
Date: Fri, 25 Jul 2014 22:02:26 +0200
Date: 2014-07-25T22:02:26+02:00 [thread overview]
Message-ID: <8xoyoz9pw6he$.djx7dfd6myjj.dlg@40tude.net> (raw)
In-Reply-To: lqub9q$3in$1@loke.gir.dk
On Fri, 25 Jul 2014 14:31:06 -0500, Randy Brukardt wrote:
> "Georg Bauhaus" <bauhaus@futureapps.invalid> wrote in message
> news:lqsueh$q0v$1@dont-email.me...
>> On 25/07/14 06:56, Randy Brukardt wrote:
> ...
>>> In what sense is Put for a
>>> String overriding Put for a Float? Dmitry covered this ground pretty well
>>> in his response.
>>
>> His answer includes, actually, that for Put you need non-Ada only
>> if the file argument should be included in dispatching. Any Float
>> or String arguments could be passed to an overridden version of Put
>> determined statically.
>
> Huh? "overriding" only works for related types. In what universe are Float
> and String related? They have almost no common operations. "overloading"
> (which you don't want to use) works for any types, including unrelated ones.
One thing missing in Ada is ad-hoc supertypes. That is when you could
create a common parent for existing types.
E.g. Ada.Text_IO would create an interface Printable and then pronounce it
a supertype of Integer, Float, String etc. After that Put will become a
primitive operation of Printable and thus overridden rather than
overloaded.
This is also the way of having containers of Float and String without
having a premeditated common parent type.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2014-07-25 20:02 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-21 21:18 Functions vs constants Victor Porton
2014-07-21 21:28 ` Victor Porton
2014-07-21 21:49 ` Shark8
2014-07-21 21:52 ` Victor Porton
2014-07-21 21:59 ` Adam Beneschan
2014-07-21 21:35 ` Niklas Holsti
2014-07-21 21:41 ` Victor Porton
2014-07-21 23:23 ` Randy Brukardt
2014-07-22 7:42 ` Dmitry A. Kazakov
2014-07-22 22:07 ` Randy Brukardt
2014-07-23 7:55 ` Dmitry A. Kazakov
2014-07-23 21:44 ` Randy Brukardt
2014-07-23 12:37 ` G.B.
2014-07-23 22:12 ` Randy Brukardt
2014-07-24 7:20 ` Stefan.Lucks
2014-07-25 4:43 ` Randy Brukardt
2014-07-26 2:36 ` Shark8
2014-07-24 8:27 ` Georg Bauhaus
2014-07-24 10:11 ` Dmitry A. Kazakov
2014-07-24 10:49 ` G.B.
2014-07-24 12:50 ` Dmitry A. Kazakov
2014-07-25 4:56 ` Randy Brukardt
2014-07-25 6:45 ` Georg Bauhaus
2014-07-25 10:46 ` G.B.
2014-07-25 19:31 ` Randy Brukardt
2014-07-25 20:02 ` Dmitry A. Kazakov [this message]
2014-07-26 2:45 ` Shark8
2014-07-26 8:02 ` Dmitry A. Kazakov
2014-07-26 14:03 ` Shark8
2014-07-26 14:18 ` Dmitry A. Kazakov
2014-07-21 21:55 ` Victor Porton
2014-07-22 7:06 ` Maciej Sobczak
2014-07-22 7:50 ` Dmitry A. Kazakov
2014-07-22 22:14 ` Randy Brukardt
2014-07-23 13:21 ` Stephen Leake
2014-07-23 13:27 ` Victor Porton
2014-07-23 15:10 ` Adam Beneschan
2014-07-23 21:57 ` Robert A Duff
2014-07-24 12:25 ` Victor Porton
2014-07-24 15:53 ` Robert A Duff
2014-07-24 15:57 ` Victor Porton
2014-07-24 16:47 ` Pascal Obry
2014-07-24 12:26 ` anon
2014-07-24 12:52 ` Victor Porton
2014-07-24 16:01 ` Robert A Duff
2014-07-24 16:15 ` Adam Beneschan
2014-07-25 5:05 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox