comp.lang.ada
 help / color / mirror / Atom feed
From: 18k11tm001@sneakemail.com (Russ)
Subject: Re: status of Ada STL?
Date: 20 Jun 2002 12:09:23 -0700
Date: 2002-06-20T19:09:24+00:00	[thread overview]
Message-ID: <bebbba07.0206201109.471a1803@posting.google.com> (raw)
In-Reply-To: aes7nh$9ar7i$1@ID-77047.news.dfncis.de

Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<aes7nh$9ar7i$1@ID-77047.news.dfncis.de>...
> Russ wrote:

> > Let me postulate a rule of good programming practice, and you can let
> > me know if you agree with it or not. If I define an assignment
> > operation for a particular type or between any two types, and if I
> > also define an equality test between them, then immediately after the
> > assignment is executed for instances of those two types, the equality
> > test should evaluate to true. For example:
> > 
> > type1 A;
> > type2 B;
> > ...
> > A = B;
> > if ( A == B ) ... // true or you goofed somewhere, dude!
> 
> It is a good rule for 80% cases. Unfortunately it is not always possible to 
> follow it. The real-world is more complicated than one might think. A pair 
> examples:
> 
> 1. A refers a hardware register. So A = 2, initiates I/O (read from A/D 
> converter port Base + 2) and as a result A becomes 123!
> 
> 2. A is a fuzzy set, then A==B is a pair of confidence factors, which 
> cannot be tested in "if".
> 
> and so on and so far.

If my rule doesn't apply, then I don't think that assignment and/or
equality test operators should be used. Appropriate functions should
be defined instead.

> >> You can start to define what is equality of two fuzzy sets. What is
> >> equality of two floating-point numbers. What is equality of two remote
> >> servers. What is equality of two people. Go on.
> > 
> > As I'm sure you well know, good programmers rarely test for exact
> > equality of two floating point numbers. And if you can test for exact
> > equality of two fuzzy sets, how "fuzzy" can they be? Perhaps I am
> > missing your point here. Do you have one?
> 
> The point is that though a set-theoretic equality might be defined, for 
> some types it might appear unusable for them, like for floating-points or 
> fuzzy sets. For other things it cannot be defined at all, yet alternative 
> equality definitions might have sense for them. So there are situations 
> when reasonable defined assignment and equality are not conformant with 
> your proposition.

Again, I contend that if my rule (requiring consistency of assignment
and equality testing) does not apply, then those operators are
inappropriate anyway. You shouldn't use "==" (or whatever your symbol
is) for comparing two "fuzzy" sets unless you are testing for exact
equality. Is you are merely testing for similarity, than you should
write a function called "areSimilar" or some such thing. Otherwise,
YOU are the one abusing mathematical notation.

So were back to the original point. Assignment and equality testing
are mirror images (or should be), and using "=" for assignment is
perfectly reasonable.



  parent reply	other threads:[~2002-06-20 19:09 UTC|newest]

Thread overview: 188+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-14  7:21 status of Ada STL? Russ
2002-06-14 16:29 ` Stephen Leake
2002-06-14 18:44 ` Ted Dennison
2002-06-14 20:34 ` Ehud Lamm
2002-06-15 18:52   ` Russ
2002-06-16  2:42     ` David Marceau
2002-06-16  8:07     ` Pascal Obry
2002-06-16 18:23       ` Russ
2002-06-16 19:01         ` Pascal Obry
2002-06-16 19:04         ` Vinzent Hoefler
2002-06-17  1:59           ` Jeffrey Carter
2002-06-17  6:48             ` Russ
2002-06-17  7:04               ` Dale Stanbrough
2002-06-18  6:16                 ` Russ
2002-06-19  1:07                   ` Dale Stanbrough
2002-06-17  9:38               ` chris.danx
2002-06-17 15:53               ` Ted Dennison
2002-06-18  7:52                 ` Russ
2002-06-18 10:57                   ` chris.danx
2002-06-18 14:38                   ` Robert A Duff
2002-06-18 16:19                     ` Brian Rogoff
2002-06-18 17:12                       ` Frank J. Lhota
2002-06-18 18:03                         ` Brian Rogoff
2002-06-18 19:24                           ` Frank J. Lhota
2002-06-18 19:41                             ` Brian Rogoff
2002-06-25  0:02                         ` Steven Deller
2002-06-25  1:24                           ` Yet another assignment variation (was Re: status of Ada STL?) Dale Stanbrough
2002-06-25 12:53                             ` Frank J. Lhota
2002-06-25 17:48                             ` Georg Bauhaus
2002-06-26  3:13                             ` Robert A Duff
2002-06-18 19:03                     ` status of Ada STL? Robert A Duff
2002-06-18 19:54                       ` Brian Rogoff
2002-06-18 21:09                         ` Robert A Duff
2002-06-18 23:36                           ` Brian Rogoff
2002-06-19  1:37                             ` Robert A Duff
2002-06-19 16:25                               ` Brian Rogoff
2002-06-19 18:53                                 ` Robert A Duff
2002-06-19 20:23                                   ` Brian Rogoff
2002-06-19  3:57                           ` Russ
2002-06-18 21:55                   ` Dmitry A.Kazakov
2002-06-19  5:32                     ` Russ
2002-06-19 12:37                       ` Dmitry A. Kazakov
2002-06-20  6:50                         ` Russ
2002-06-20 12:21                           ` Ted Dennison
2002-06-20 21:42                           ` Dmitry A.Kazakov
2002-06-20 18:20                             ` Russ
2002-06-21 10:27                               ` Dmitry A. Kazakov
2002-06-20 18:21                             ` Russ
2002-06-20 19:09                             ` Russ [this message]
2002-06-17 17:16               ` Pascal Obry
2002-06-18  5:27                 ` Russ
2002-06-17 17:17               ` Pascal Obry
2002-06-17 21:40             ` Vinzent Hoefler
2002-06-17  5:20           ` Russ
2002-06-17  8:22             ` chris.danx
2002-06-17 14:00               ` Frank J. Lhota
2002-06-17 15:57               ` Marin David Condic
2002-06-18  6:12               ` Russ
2002-06-18  8:16                 ` chris.danx
2002-06-18 14:52                   ` Robert A Duff
2002-06-18 16:02                     ` Pascal Obry
2002-06-18 16:54                       ` Hyman Rosen
2002-06-18 22:58                         ` Jacob Sparre Andersen
2002-06-18 19:09                     ` Robert A Duff
     [not found]                     ` <ud6uolglz.fsf@w <wccsn3kxv3g.fsf@shell01.TheWorld.com>
2002-06-19  8:09                       ` Pascal Obry
2002-06-19  3:04                   ` Russ
2002-06-19 16:40                     ` Hyman Rosen
2002-06-19 18:07                       ` Brian Rogoff
2002-06-18  9:37                 ` Fraser Wilson
2002-06-18 15:45                   ` Hyman Rosen
2002-06-19 16:55                   ` Robert I. Eachus
2002-06-19 19:13                     ` Robert A Duff
2002-06-20  7:43                       ` Dmitry A.Kazakov
2002-06-22 22:05                       ` Robert I. Eachus
2002-06-17 21:40             ` Vinzent Hoefler
2002-06-18 15:05               ` Robert A Duff
2002-06-18 22:36                 ` Vinzent Hoefler
2002-06-19 12:45                   ` Dmitry A. Kazakov
2002-06-19 14:35                     ` Marin David Condic
2002-06-21 11:03                       ` Dmitry A. Kazakov
2002-06-21 16:58                         ` Mark Biggar
2002-06-22 23:23                           ` Dmitry A.Kazakov
2002-06-27  3:00                       ` David Thompson
2002-06-28 13:36                         ` Marin David Condic
2002-06-30  4:05                           ` Russ
2002-06-30 13:50                             ` Ted Dennison
2002-07-01 13:12                             ` Marin David Condic
2002-07-02 19:56                           ` Robert A Duff
     [not found]                           ` <bebbba07.0206292005.45ad915a@p <wcc4rfhj43l.fsf@shell01.TheWorld.com>
2002-07-02 20:40                             ` Pat Rogers
2002-06-18 15:21             ` Robert A Duff
2002-06-19  0:34               ` tmoran
2002-06-19  2:55               ` Russ
2002-06-19  4:53                 ` Ted Dennison
2002-06-19  8:21                 ` Pascal Obry
2002-06-19 14:52                 ` Stephen Leake
2002-06-20  1:45                 ` SteveD
2002-06-20  2:01                   ` Ted Dennison
2002-06-16 20:01         ` Pascal Obry
2002-06-17  5:29           ` Russ
2002-06-16 23:02         ` Ted Dennison
2002-06-17  5:07           ` Russ
2002-06-17 14:03             ` Frank J. Lhota
2002-06-17 14:11             ` Ted Dennison
2002-06-18  5:55               ` Russ
2002-06-18 14:30                 ` Ted Dennison
2002-06-18 15:14                   ` Marin David Condic
2002-06-19 14:19                     ` Ted Dennison
2002-06-19 16:05                       ` Marin David Condic
2002-06-19  5:58                   ` Russ
2002-06-19 14:35                     ` Ted Dennison
2002-06-20  7:06                       ` Russ
2002-06-20 12:27                         ` Ted Dennison
2002-06-20 23:22                           ` Russ
2002-06-21  2:00                             ` Ted Dennison
2002-06-22  4:28                               ` Russ
2002-06-22 15:05                                 ` Ted Dennison
2002-06-21  8:48                             ` Ian Wild
2002-06-22  4:54                             ` Russ
2002-06-20 22:47                   ` Russ
2002-06-21  0:43                     ` Ted Dennison
2002-06-22  4:05                       ` Russ
2002-06-22 14:41                         ` Jano
2002-06-22 20:27                         ` Ted Dennison
2002-06-21 13:12                     ` Marin David Condic
2002-06-24  8:29                       ` Russ
2002-06-24 20:19                         ` Chad R. Meiners
2002-06-18 22:36                 ` Vinzent Hoefler
2002-06-18 22:42                   ` Ed Falis
2002-06-19  0:07                     ` Vinzent Hoefler
2002-06-19  0:07                   ` Vinzent Hoefler
2002-06-17 22:37             ` Dmitry A.Kazakov
2002-06-17 14:09               ` Frank J. Lhota
2002-06-18 21:40                 ` Dmitry A.Kazakov
2002-06-18 16:04         ` Robert A Duff
2002-06-18 16:37           ` Pascal Obry
2002-06-18 18:56             ` Robert A Duff
2002-06-18 22:20               ` Pascal Obry
2002-06-19 12:53               ` Dmitry A. Kazakov
2002-06-19  3:37           ` Russ
2002-06-19  8:31             ` Pascal Obry
2002-06-20  7:58               ` Russ
2002-06-20 20:34                 ` Pascal Obry
2002-06-21  4:07                   ` Russ
2002-06-17 15:33     ` Marin David Condic
2002-06-18 10:28       ` Adrian Hoe
2002-06-19  7:58         ` Ole-Hjalmar Kristensen
2002-06-19 13:55           ` Marin David Condic
2002-06-19 13:52         ` Marin David Condic
2002-09-18 15:23           ` Matthew Heaney
2002-09-19 12:11             ` Marin David Condic
2002-09-19 14:13               ` Hyman Rosen
2002-09-20 12:24                 ` Marin David Condic
2002-09-22  7:22                   ` Kevin Cline
2002-09-23 13:55                     ` Hyman Rosen
2002-09-19 19:42               ` Randy Brukardt
2002-09-20 12:38                 ` Marin David Condic
2002-09-27 21:21                   ` Michael Bode
2002-09-27 22:11                     ` Pat Rogers
2002-09-28 13:25                       ` Marin David Condic
2002-09-28 14:52                         ` Pat Rogers
2002-09-28 15:18                           ` Martin Dowie
2002-09-29 18:02                           ` Marin David Condic
2002-09-29 19:02                             ` Jeffrey Carter
2002-09-30  1:36                               ` Marin David Condic
2002-10-02 22:17                     ` Matthew Heaney
2002-09-28 17:25                 ` Richard Riehle
2002-09-30 17:12                   ` Marin David Condic
2002-10-01 18:41                     ` Randy Brukardt
2002-10-02  8:38                       ` Jean-Pierre Rosen
2002-10-02 12:43                         ` Marin David Condic
2002-10-02 14:26                           ` Jean-Pierre Rosen
2002-10-02 12:30                       ` Marin David Condic
2002-06-18  1:56     ` SteveD
2002-06-18 14:12       ` Robert A Duff
2002-06-18 14:28         ` chris.danx
2002-06-18 15:59           ` Pascal Obry
2002-06-18 18:58           ` Robert A Duff
2002-06-18 19:58           ` Randy Brukardt
2002-06-19 14:07             ` Marin David Condic
2002-06-19  2:19         ` SteveD
2002-06-18 11:40     ` Colin Paul Gloster
2002-06-20 15:15       ` Colin Paul Gloster
2002-06-18 19:34     ` Mike Silva
2002-06-25 16:31     ` Kevin Cline
2002-06-14 20:34 ` Dan Andreatta
  -- strict thread matches above, loose matches on Subject: below --
2002-06-17 11:05 Grein, Christoph
2002-06-18  5:36 ` Russ
2002-06-26 10:50 Grein, Christoph
replies disabled

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