comp.lang.ada
 help / color / mirror / Atom feed
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


  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