From: mheaney@ni.net (Matthew Heaney)
Subject: Re: Equality operator overloading in ADA 83
Date: 1997/04/24
Date: 1997-04-24T00:00:00+00:00 [thread overview]
Message-ID: <mheaney-ya023680002404971929220001@news.ni.net> (raw)
In-Reply-To: 335F5971.6375@elca-matrix.ch
In article <335F5971.6375@elca-matrix.ch>, Mats.Weber@elca-matrix.ch wrote:
>I think that the argument of backward compatibility with Ada 83 is not
>that important (just my opinion). I think that if someone redefines an
>operator for a type, then he probably has a good reason to do so, and
>that operator becomes part of the abstraction provided by that type and
>must stick with it wherever the types goes, with no exception.
And this time I agree with you 100%. With respect to redefining equality,
if introducing a backwards incompatibility was the price for always having
the overriding version get called, then so be it.
Alas, I wasn't on the design commitee, and they made a different choice.
Oh, well. They're smart guys, and they had their reasons.
To remember that predefined equality re-emerges when a bounded_string is a
record or array componant is to a lot (too much, I say) to ask the average
programmer.
Most programmers don't know that predefined operators even in Ada 83
re-emerge for a type passed as a generic actual, so what magic is supposed
to happen to make them aware of the re-emergence of predefined equality in
Ada 95?
This whole issue of re-emergence of operators is something I really wish no
Ada programmer ever had to think about, and it will only contribute to the
perception (reality?) of Ada as a "complex language." My Prognistication
is that this will be a pernicious source of error in Ada 95 systems.
At a minimum we should guarantee that predefined types - such as
Ada.Strings.Bounded.Bounded_String - are composable. Because it would be
very naive to think that a tired programmer who has been furiously working
all weekend, and is still hacking away at 11:30 Sunday night because he has
a code delivery Monday morning, is going to be even remotely thinking about
when predefined equality re-emerges. So let's solve his problem so that he
_never_does_ have to think about it, by guaranteeing that Bounded_String is
composable.
The whole point of a high level language is so that the programmer
_doesn't_ have to think about those things. He should be thinking about
the problem, not the solution. We have to remove programming language as a
barrior to the production of correct software systems.
Gee, I think I'm beginning to sound like someone else. Bertrand, are you
listening?
Matt
--------------------------------------------------------------------
Matthew Heaney
Software Development Consultant
<mailto:matthew_heaney@acm.org>
(818) 985-1271
next prev parent reply other threads:[~1997-04-24 0:00 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-04-21 0:00 Equality operator overloading in ADA 83 Manuel Wenger
1997-04-22 0:00 ` Mats Weber
1997-04-22 0:00 ` Matthew Heaney
1997-04-22 0:00 ` Mats Weber
1997-04-22 0:00 ` Robert A Duff
1997-04-22 0:00 ` Matthew Heaney
1997-04-23 0:00 ` Mats Weber
1997-04-23 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert A Duff
1997-04-29 0:00 ` Mats Weber
1997-05-01 0:00 ` Robert Dewar
1997-04-23 0:00 ` Robert A Duff
1997-04-24 0:00 ` Mats Weber
1997-04-24 0:00 ` Robert A Duff
1997-04-24 0:00 ` Robert Dewar
1997-04-25 0:00 ` Robert A Duff
1997-04-26 0:00 ` Nick Roberts
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-05-02 0:00 ` Nick Roberts
1997-05-04 0:00 ` Robert Dewar
1997-05-05 0:00 ` Mats Weber
1997-05-05 0:00 ` Robert Dewar
1997-05-06 0:00 ` Matthew Heaney
1997-05-06 0:00 ` Robert Dewar
1997-05-07 0:00 ` Tucker Taft
1997-05-05 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-28 0:00 ` Simon Wright
1997-04-29 0:00 ` Robert I. Eachus
1997-04-29 0:00 ` Mats Weber
1997-05-01 0:00 ` Robert Dewar
[not found] ` <01bc571c$01f3ffc0$5de2b8cd@p5120.bda>
1997-05-03 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert Dewar
1997-04-27 0:00 ` Fergus Henderson
1997-04-27 0:00 ` Robert Dewar
1997-04-28 0:00 ` Fergus Henderson
1997-04-28 0:00 ` Robert Dewar
1997-04-25 0:00 ` Mats Weber
1997-04-25 0:00 ` Kevin Cline
1997-04-25 0:00 ` Robert A Duff
1997-04-25 0:00 ` Mats Weber
1997-04-25 0:00 ` Robert Dewar
1997-04-29 0:00 ` Mats Weber
1997-05-01 0:00 ` Robert Dewar
1997-04-25 0:00 ` Mats Weber
1997-04-27 0:00 ` Robert Dewar
1997-04-29 0:00 ` Mats Weber
1997-04-27 0:00 ` Geert Bosch
1997-04-24 0:00 ` Matthew Heaney [this message]
1997-04-25 0:00 ` Robert Dewar
1997-04-25 0:00 ` Matthew Heaney
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Robert A Duff
1997-04-25 0:00 ` Robert Dewar
1997-04-25 0:00 ` Matthew Heaney
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Fergus Henderson
1997-04-26 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert Dewar
1997-04-28 0:00 ` Robert Dewar
1997-04-28 0:00 ` Robert Dewar
1997-04-29 0:00 ` Matthew Heaney
1997-05-01 0:00 ` Robert Dewar
1997-04-29 0:00 ` Mats Weber
1997-04-29 0:00 ` Robert A Duff
1997-04-29 0:00 ` Matthew Heaney
1997-05-02 0:00 ` Tucker Taft
1997-05-02 0:00 ` Robert Dewar
1997-05-02 0:00 ` Robert A Duff
1997-05-03 0:00 ` Robert Dewar
1997-05-01 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert Dewar
1997-04-22 0:00 ` Mats Weber
1997-04-22 0:00 ` Matthew Heaney
1997-04-23 0:00 ` Mats Weber
1997-04-23 0:00 ` Robert A Duff
1997-04-25 0:00 ` Kevin Cline
1997-04-25 0:00 ` Robert A Duff
1997-04-25 0:00 ` Matthew Heaney
1997-04-25 0:00 ` Robert A Duff
1997-04-25 0:00 ` Jon S Anthony
1997-04-27 0:00 ` Robert Dewar
1997-04-28 0:00 ` Robert I. Eachus
1997-04-29 0:00 ` Jon S Anthony
1997-04-26 0:00 ` Robert Dewar
1997-04-27 0:00 ` Matthew Heaney
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-04-24 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert A Duff
1997-04-25 0:00 ` Robert Dewar
1997-04-25 0:00 ` Matthew Heaney
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-04-27 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-05-02 0:00 ` Nick Roberts
1997-05-04 0:00 ` Robert Dewar
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-04-27 0:00 ` Robert A Duff
1997-04-22 0:00 ` Philip Brashear
1997-04-22 0:00 ` Kevin Cline
1997-04-22 0:00 ` Mark A Biggar
1997-04-24 0:00 ` Keith Thompson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox