comp.lang.ada
 help / color / mirror / Atom feed
From: Keith Thompson <kst@cts.com>
Subject: Re: Unchecked_Conversion
Date: 10 Jun 2001 15:10:47 -0700
Date: 2001-06-10T15:10:47-07:00	[thread overview]
Message-ID: <yeciti4nfyw.fsf@king.cts.com> (raw)
In-Reply-To: 41F37C284A6DE8C0.8A6A99719FF11B52.8149DC60E20677C9@lp.airnews.net

rlove@antispam.neosoft.com (Robert B. Love ) writes:
[...]
> My experience runs counter to this.  My employer has chosen to use
> typing for every conceivable measurement. So we have type Meters, 
> Meters_Per_Second, Feet, Feet_Per_Second, Seconds, Watts, Volts, and so 
> on.
> The list is endless.
> 
> To avoid conversions I would have to have hundreds of overloaded 
> operators.
> And to make matters worse, we have generic vectors that can be 
> instantiated
> for the basic types above.  I would have to have overloaded operators for
> all the vector combinations.

At some cost in efficiency, you could use a single type, say Quantity,
implemented as a record that includes the units and a numeric value.
Inconsistent unit errors would raise Constraint_Error rather than
failing at compilation time.

If you write the code carefully enough, you might even be able to
replace the package that defines type Quantity with a more efficient
one that doesn't do the checks (type Quantity is new Long_Float or
whatever).  Use the checking version during development to catch
errors, and use the more efficient version (with thorough testing, of
course) for the released product -- unless the checking version
happens to be fast enough.

Just a thought.

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



  parent reply	other threads:[~2001-06-10 22:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-07  7:46 Unchecked_Conversion Lele
2001-06-07 12:50 ` Why not try Checked_Conversion? Petter Fryklund
2001-06-07 13:01 ` Unchecked_Conversion Marc A. Criley
2001-06-07 13:21 ` Unchecked_Conversion Ted Dennison
2001-06-10 18:20   ` Unchecked_Conversion Robert B. Love 
2001-06-10 19:48     ` Unchecked_Conversion Jeff Creem
2001-06-10 22:10     ` Keith Thompson [this message]
2001-06-11 13:56     ` Unchecked_Conversion Ted Dennison
2001-06-11 14:21     ` Unchecked_Conversion Marin David Condic
2001-06-07 14:01 ` Unchecked_Conversion Jacob Sparre Andersen
2001-06-07 19:44 ` Unchecked_Conversion tmoran
2001-06-09 17:07   ` Unchecked_Conversion Robert A Duff
  -- strict thread matches above, loose matches on Subject: below --
1992-01-02  6:09 unchecked conversion Robert I. Eachus
1991-12-31 13:53 Jean-Pierre Rosen
1991-12-30 23:25 Greg Lomow
replies disabled

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