comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Negative float problem
Date: Wed, 2 Nov 2005 15:44:01 +0100
Date: 2005-11-02T15:44:02+01:00	[thread overview]
Message-ID: <guiwbv8mbauh.16mluot0pbu80$.dlg@40tude.net> (raw)
In-Reply-To: wccy847p44a.fsf@shell01.TheWorld.com

On 02 Nov 2005 08:32:21 -0500, Robert A Duff wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> On Wed, 02 Nov 2005 10:04:21 +0100, Maciej Sobczak wrote:
>> 
>>> Dmitry A. Kazakov wrote:
>>> 
>>>> package A is
>>>>    type Foo is ...;
>>>>    function "+" (Left, Right : Foo)  return Foo;
>>>> end A;
>>>> -------------------
>>>> package A.B is
>>>>    X : Foo;
>>>>    function "+" (Left, Right : Foo)  return Foo;
>>>> end A.B;
>>>> ------------------
>>>> with A.B;
>>>> ...
>>>> A.B.X + A.B.X  -- BOOOOM!
>>> 
>>> With ADL, I would expect it to call A."+".
>> 
>> Which perfectly illustrates why there should be no such thing as ADL.
>> Exactly to prevent making the above legal with the meaning A."+".
> 
> Well, perhaps, but the above example is confusing with the current
> rules, too.  If you say "use type A.Foo", you get one "+", when you
> might expect to get the other.  Even worse, add this to A.B:
> "subtype Foo is A.Foo", and then say "use type A.B.Foo" -- you might be
> surprised to get A."+".

Because "use type" is also a kludge. (:-))

> I think the answer is a coding convention: If you want to declare an
> operator, always make it a primitive of the interesting type involved.
> I'm not sure whether that could reasonably be a language rule...

I think that non-primitive operations should be outlawed in specifications.
I mean as a language design goal, because this would also require handling
multiple dispatch and operations which are primitive for more than one
type. Then there is a case of class-wide operations...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2005-11-02 14:44 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-26 18:32 Negative float problem Luke
2005-10-26 19:05 ` Samuel Tardieu
2005-10-26 20:42 ` Robert A Duff
2005-10-27  8:05   ` Robert I. Eachus
2005-10-27 14:48     ` Robert A Duff
2005-10-27 15:07       ` Maciej Sobczak
2005-10-27 15:47         ` Robert A Duff
2005-10-28  8:34           ` Maciej Sobczak
2005-10-29 23:39             ` Brian May
2005-10-30  9:11             ` Dmitry A. Kazakov
2005-10-31  9:46               ` Maciej Sobczak
2005-10-31 14:20                 ` Dmitry A. Kazakov
2005-11-01 11:06                   ` Maciej Sobczak
2005-11-01 14:06                     ` Robert A Duff
2005-11-01 14:46                       ` Martin Dowie
2005-11-01 16:04                         ` Hyman Rosen
2005-11-01 17:19                           ` Martin Dowie
2005-11-02  0:13                         ` Robert A Duff
2005-11-02  6:59                           ` Martin Dowie
2005-11-02 13:24                             ` Robert A Duff
2005-11-02 15:22                               ` Martin Dowie
2005-11-01 15:12                       ` Maciej Sobczak
2005-11-02  0:28                         ` Robert A Duff
2005-11-02  4:16                           ` Steve Whalen
2005-11-14  7:26                           ` Dave Thompson
2005-11-20  0:19                             ` Robert A Duff
2005-11-20 11:07                               ` Dmitry A. Kazakov
2005-11-01 14:27                     ` Dmitry A. Kazakov
2005-11-01 15:19                       ` Maciej Sobczak
2005-11-01 19:44                         ` Dmitry A. Kazakov
2005-11-02  9:04                           ` Maciej Sobczak
2005-11-02 11:17                             ` Dmitry A. Kazakov
2005-11-02 13:03                               ` Maciej Sobczak
2005-11-02 14:20                                 ` Jean-Pierre Rosen
2005-11-02 20:15                                   ` Jeffrey R. Carter
2005-11-03 13:06                                     ` Jean-Pierre Rosen
2005-11-03 18:32                                       ` Jeffrey R. Carter
2005-11-03  9:51                                   ` Maciej Sobczak
2005-11-03 13:20                                     ` Jean-Pierre Rosen
2005-11-03 15:02                                       ` Maciej Sobczak
2005-11-03 18:55                                         ` Frank J. Lhota
2005-11-04  9:32                                           ` Maciej Sobczak
2005-11-03 20:59                                     ` Simon Wright
2005-11-02 13:32                               ` Robert A Duff
2005-11-02 14:44                                 ` Dmitry A. Kazakov [this message]
2005-11-02 13:47                               ` Dmitry A. Kazakov
2005-10-27 18:33       ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox