comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Re: Announce: Grace project site operational
Date: Tue, 14 May 2002 11:45:37 -0400
Date: 2002-05-14T15:45:39+00:00	[thread overview]
Message-ID: <abrbf3$4q9$1@nh.pace.co.uk> (raw)
In-Reply-To: 4519e058.0205140718.3ddb1b2a@posting.google.com

Think about why it is that Ada provides separate types with strong rules
about separate-but-equal treatment of them. Its about keeping things
separate that belong separate. So you need to ask the question "Should these
things (almost) never be mixed or confused with each other?" In my
produce-inventory-program I (almost) never have a good reason to mix up a
count of apples with a count of oranges - hence the archetypical example.

But if you're doing computations with velocities and accelerations and such,
then you thoroughly intend to mix them and you are then saying "I'm dealing
with general mathematical relationships between one thing and another" That
sort of calls for a common type of sufficient size to support the
anticipated calculations. After all, the common object of interest here is
the "mathematical relationship", not the not the particular items in some
specific engineering units.

I agree that a good compromise is to have subtypes that can then be freely
mixed with possible constraints as needed. This provides you with some
ability to distinguish in your code where you are dealing with one thing
versus another (velocities versus accelerations) and have the values sanity
checked by your constraints, while leaving you the ability to freely mix the
math operations. Of course, this doesn't save you from everything - e.g.
passing a velocity to a function that needs an acceleration - but you just
can't always have absolute safety. Absolute safety is for people who don't
have the balls to live in the real world. :-)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com


"Ted Dennison" <dennison@telepath.com> wrote in message
news:4519e058.0205140718.3ddb1b2a@posting.google.com...
>
> That's the biggie. If you try to make separate types for velocities
> and accelerations, you will suddenly find that you also need separate
> types for times and distances, and perhaps even Hz and mass and forces
> and rotational orientations and velocitites and accelerations. Then
> you'll find how annoying it is to have to do type conversions on every
> factor in every formula. A more attractive option may be to write your
> own math operators that return the correct type given their two input
> types. But that causes an exponential growth in operators that you
> have to create every time you add a new unit.
>
> To do this kind of thing *right*, you'd really need a language that
> relies on structural equivalence for types, and automaticly generates
> the proper new type given the operator and the types of its operands.
> In Ada, you just can't do that.
>
> Generally, what I see Ada folk do is use *subtypes* for all this
> stuff. That way ranges are checked, but formulas don't become a chore
> (although you still have to be really careful with intermediate values
> blowing out of subtype constraints).
>
> --
> T.E.D.
> Home     -  mailto:dennison@telepath.com (Yahoo: Ted_Dennison)
> Homepage -  http://www.telepath.com/dennison/Ted/TED.html (down)





  reply	other threads:[~2002-05-14 15:45 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-08  2:38 Announce: Grace project site operational Ted Dennison
2002-05-08  2:48 ` Larry Kilgallen
2002-05-08 12:46   ` Ted Dennison
2002-05-08 13:33     ` Marin David Condic
2002-05-09 19:54       ` Randy Brukardt
2002-05-09 20:22         ` Marin David Condic
2002-05-10 14:59           ` Ted Dennison
2002-05-10 18:54           ` Randy Brukardt
2002-05-10 14:17       ` Larry Hazel
2002-05-10 14:46         ` David C. Hoos
2002-05-10 15:38         ` Marin David Condic
2002-05-11 14:17           ` Preben Randhol
2002-05-11 16:58             ` martin.m.dowie
2002-05-11 18:55               ` William C. Brennan
2002-05-11 20:10               ` Preben Randhol
2002-05-12  8:53                 ` martin.m.dowie
2002-05-13 13:18               ` Marin David Condic
2002-05-13 13:07             ` Marin David Condic
2002-05-14 15:18               ` Ted Dennison
2002-05-14 15:45                 ` Marin David Condic [this message]
2002-05-15 19:56                   ` Hyman Rosen
2002-05-16 13:44                   ` Stephen Leake
2002-05-14 17:02                 ` Martin Dowie
2002-05-15 14:57                   ` Ted Dennison
2002-05-15 15:31                     ` Marin David Condic
2002-05-16 21:57                       ` tmoran
2002-05-17  1:55                       ` tmoran
2002-05-17 13:12                         ` Marin David Condic
2002-05-18  1:44                           ` tmoran
2002-05-15 15:54                     ` Martin Dowie
2002-05-15 17:33                       ` Larry Kilgallen
2002-05-15 17:04                         ` David C. Hoos
2002-05-15 22:59                     ` tmoran
2002-05-16 13:36                       ` Marin David Condic
2002-05-16 13:43                       ` Ted Dennison
2002-05-16 14:51                         ` Marin David Condic
2002-05-17 15:34                         ` Stephen Leake
2002-05-20 13:47                           ` Marin David Condic
2002-05-21 14:23                             ` Stephen Leake
2002-05-21 17:24                               ` Ted Dennison
2002-05-21 17:52                                 ` Marin David Condic
2002-05-22 16:20                                   ` Stephen Leake
2002-05-28  8:22                                     ` Martin Dowie
2002-05-22 16:16                                 ` Stephen Leake
2002-05-16 11:06                     ` John English
2002-05-16 13:52                       ` Stephen Leake
2002-05-16 16:40                       ` Hyman Rosen
2002-05-14 17:50                 ` tmoran
2002-05-14 18:07                   ` Preben Randhol
2002-05-14 18:12                     ` Preben Randhol
2002-05-14 18:52                       ` Hyman Rosen
2002-05-15  8:17                         ` Dmitry A. Kazakov
2002-05-15 18:30                           ` Hyman Rosen
2002-05-16  9:16                             ` Dmitry A. Kazakov
2002-05-16 19:42                               ` Hyman Rosen
2002-05-17  8:35                                 ` Dmitry A. Kazakov
2002-05-20 17:08                                   ` Hyman Rosen
2002-05-21  8:34                                     ` Dmitry A. Kazakov
2002-05-21 15:57                                       ` Hyman Rosen
2002-05-22  7:48                                         ` Dmitry A. Kazakov
2002-05-22 11:40                                   ` Georg Bauhaus
2002-05-22 15:05                                     ` Dmitry A. Kazakov
2002-05-22 16:14                                       ` Georg Bauhaus
2002-05-22 16:31                                       ` Hyman Rosen
2002-05-23 11:40                                         ` Dmitry A. Kazakov
2002-05-15  8:44                         ` Martin Dowie
2002-05-15 18:15                           ` Stephen Leake
2002-05-15 18:39                             ` Darren New
2002-05-15 19:34                               ` Hyman Rosen
2002-05-15 23:52                                 ` Darren New
2002-05-16  7:39                                   ` Hyman Rosen
2002-05-16 15:35                                     ` Darren New
2002-05-16 17:55                                       ` Brian Rogoff
2002-05-16 13:35                                   ` Stephen Leake
2002-05-16 15:50                                     ` Darren New
2002-05-16 16:28                                       ` Hyman Rosen
2002-05-17 15:14                                       ` Stephen Leake
2002-05-17 16:08                                         ` Darren New
2002-05-17 16:41                                           ` Fraser Wilson
2002-05-17 16:43                                           ` Stephen Leake
2002-05-17 16:24                                         ` Marin David Condic
2002-05-17 15:03                                     ` Fraser Wilson
2002-05-17 15:27                                       ` Stephen Leake
2002-05-17 16:20                                         ` Fraser Wilson
2002-05-17 16:46                                           ` Stephen Leake
2002-05-18  6:14                                         ` Simon Wright
2002-05-17 15:44                                       ` Mark Biggar
2002-05-17 16:09                                         ` Fraser Wilson
2002-05-17 16:48                                           ` Stephen Leake
2002-05-17 21:11                                           ` Mark Biggar
2002-05-21  8:45                                       ` Dmitry A. Kazakov
2002-05-15 19:24                             ` Hyman Rosen
2002-05-15 23:33                         ` tmoran
2002-05-16 13:48                           ` Stephen Leake
2002-05-16 14:39                             ` Martin Dowie
2002-05-14 19:10                       ` tmoran
2002-05-14 19:58                         ` Preben Randhol
2002-05-11 19:42           ` Jeffrey Carter
2002-05-11 20:16             ` Preben Randhol
2002-05-11 19:49           ` Jeffrey Carter
2002-05-13 15:44             ` Ted Dennison
2002-05-13 16:16               ` Marin David Condic
2002-05-13 17:10               ` Stephen Leake
2002-05-13 19:07                 ` Preben Randhol
2002-05-13 20:21                 ` Marin David Condic
2002-05-14 15:00                 ` Ted Dennison
2002-05-14 16:00                   ` Stephen Leake
2002-05-14 16:30                     ` Preben Randhol
2002-05-13 19:16               ` Jeffrey Carter
2002-05-13 19:19               ` Simon Wright
2002-05-11  1:23         ` Richard Riehle
2002-05-11 12:27           ` Marc A. Criley
2002-05-08 16:12     ` Hyman Rosen
2002-05-08 16:31       ` Larry Kilgallen
2002-05-08 17:16         ` Marin David Condic
2002-05-09  9:50           ` Larry Kilgallen
2002-05-09 13:32             ` Marin David Condic
2002-05-09 13:54             ` Ted Dennison
2002-05-09 14:23               ` Mário Amado Alves
2002-05-09 20:02                 ` Randy Brukardt
2002-05-09 20:44                   ` Marin David Condic
2002-05-10 13:06                     ` Hyman Rosen
2002-05-10 16:23                       ` Preben Randhol
2002-05-10 18:57                         ` Hyman Rosen
2002-05-10 18:58                     ` Randy Brukardt
2002-05-10  8:35                   ` Dmitry A. Kazakov
2002-05-10  9:12                     ` GRACE web site (was Announce: Grace project site operationa)l David C. Hoos, Sr.
2002-05-10 14:33                       ` Ted Dennison
2002-05-10 16:17                         ` Preben Randhol
2002-05-13 14:07                           ` Ted Dennison
2002-05-13 16:04                             ` Darren New
2002-05-10 19:00                     ` Announce: Grace project site operational Randy Brukardt
2002-05-13  8:10                       ` Dmitry A. Kazakov
2002-05-10 19:35                     ` Ted Dennison
2002-05-13  8:01                       ` Dmitry A. Kazakov
2002-05-10 10:25                   ` Mário Amado Alves
2002-05-09 20:53               ` Simon Wright
2002-05-10  8:29               ` Dmitry A. Kazakov
2002-05-14 15:03                 ` John English
2002-05-15  8:34                   ` Dmitry A. Kazakov
2002-05-15 10:38                     ` John English
2002-05-15 11:18                       ` Dmitry A. Kazakov
2002-05-15 18:10                         ` Stephen Leake
2002-05-09 14:03           ` Wes Groleau
2002-05-09 15:38             ` Marin David Condic
2002-05-11 18:10         ` William C. Brennan
2002-05-08 22:00       ` Ted Dennison
2002-05-09  5:39         ` Hyman Rosen
2002-05-09 14:21         ` Wes Groleau
2002-05-25 22:03           ` Robert I. Eachus
2002-05-08 14:32 ` Stephen Leake
2002-05-10 14:46   ` Ted Dennison
2002-05-10  7:47 ` fraser
2002-05-10 14:55   ` Ted Dennison
  -- strict thread matches above, loose matches on Subject: below --
2002-05-15  9:58 Grein, Christoph
2002-05-15 16:12 ` Ted Dennison
2002-05-15 11:32 Grein, Christoph
2002-05-15 13:41 ` 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