comp.lang.ada
 help / color / mirror / Atom feed
From: Bryce Bardin <bbardin@home.com>
Subject: Re: Disallowing Pre-Defined Operations
Date: 2000/03/16
Date: 2000-03-16T00:00:00+00:00	[thread overview]
Message-ID: <38D06B59.7EA0E4B3@home.com> (raw)
In-Reply-To: 38D001D7.4D6E4284@averstar.com

Tucker Taft wrote:
> ... Personally, I would like a full-up
> "units" capability, where generally A * A => A is not defined, since
> that doesn't balance from a units point of view.  I have some ideas
> how to get there, and would be interested in opinions from others.
> The techniques using discriminants are unsatisfactory in my view,
> and too "heavy."  VHDL has the notion of "units" built into the language,
> and its approach should probably be evaluated.

I have always felt that a full-up, type-safe, compile-time-checked, 
units capability is the one potential "killer" capability that has 
the potential to make Ada the language of choice for engineers and 
scientists world-wide.  But it must be *easy* to use (not feel 
cumbersome) and have no run-time cost.
  
I believe that it should be based on the International System of Units 
(SI), but also incorporate units conversion capabilities, so that 
commonly used systems of engineering units can be gracefully 
accommodated.  I don't think that the number of underlying relations 
would be prohibitive; see for instance:
  http://physics.nist.gov/cuu/Units/units.html,
et seq.  

If all units checking is performed in SI and the relationship
to the various systems of engineering units is implicitly known to
the compiler (or processor), dimensional checking is straightforward.  
Mixed units calculations should be forbidden, absent appropriate 
conversions. 

What remains then is to determine how to specify the units on types 
and values, and how to specify unit conversions.  It is not clear to 
me whether the basis of such a capability needs to be supplied within 
the confines of the current language, or whether a "preprocessor" 
acting on annotated source would be adequate.

Bryce Bardin




  parent reply	other threads:[~2000-03-16  0:00 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-10  0:00 Disallowing Pre-Defined Operations Charles H. Sampson
2000-03-09  0:00 ` Keith Thompson
2000-03-09  0:00 ` Samuel T. Harris
2000-03-12  0:00   ` Steven Hovater
2000-03-10  0:00 ` mark_biggar
2000-03-10  0:00 ` Jean-Pierre Rosen
2000-03-11  0:00   ` Tarjei Tj�stheim Jensen
2000-03-11  0:00     ` James S. Rogers
2000-03-13  0:00       ` Tarjei T. Jensen
2000-03-13  0:00     ` Robert Dewar
2000-03-13  0:00       ` Keith Thompson
2000-03-15  0:00         ` Robert Dewar
2000-03-13  0:00     ` dmitry6243
2000-03-15  0:00     ` Charles H. Sampson
2000-03-15  0:00       ` Robert Dewar
2000-03-21  0:00         ` Charles H. Sampson
2000-03-21  0:00           ` Robert Dewar
2000-03-21  0:00           ` Robert A Duff
2000-03-12  0:00   ` claveman
2000-03-12  0:00     ` Robert A Duff
2000-03-13  0:00       ` Tarjei T. Jensen
2000-03-13  0:00         ` Robert Dewar
2000-03-13  0:00         ` Robert A Duff
2000-03-15  0:00       ` Charles H. Sampson
2000-03-15  0:00         ` Tucker Taft
2000-03-15  0:00           ` Paul Graham
2000-03-16  0:00             ` Charles Hixson
2000-03-17  0:00               ` Paul Graham
2000-03-17  0:00                 ` Charles Hixson
2000-03-18  0:00                   ` Robert Dewar
2000-03-20  0:00                     ` Charles Hixson
2000-03-20  0:00                       ` Robert Dewar
2000-03-16  0:00             ` Robert Dewar
2000-03-16  0:00           ` Bryce Bardin [this message]
2000-03-16  0:00           ` Tarjei T. Jensen
2000-03-16  0:00             ` mark_biggar
2000-03-16  0:00             ` Dale Stanbrough
2000-03-17  0:00         ` Robert A Duff
2000-03-13  0:00     ` Ted Dennison
2000-03-14  0:00 ` Nick Roberts
2000-03-15  0:00   ` Robert Dewar
2000-03-17  0:00 ` William A Whitaker
2000-03-18  0:00   ` Robert Dewar
2000-03-22  0:00     ` William A Whitaker
2000-03-23  0:00       ` Robert Dewar
2000-04-06  0:00         ` Robert I. Eachus
2000-04-05  0:00           ` Marin D. Condic
2000-04-06  0:00             ` Robert Dewar
2000-04-06  0:00               ` Marin D. Condic
2000-04-07  0:00                 ` dale
2000-04-07  0:00                   ` Marin D. Condic
2000-04-07  0:00                     ` Tarjei T. Jensen
2000-04-07  0:00                       ` Marin D. Condic
2000-04-07  0:00                         ` tmoran
2000-04-07  0:00                           ` Marin D. Condic
2000-04-08  0:00                             ` Vladimir Olensky
2000-04-08  0:00                             ` Vladimir Olensky
2000-04-08  0:00                         ` Dale Stanbrough
2000-04-10  0:00                         ` Tarjei T. Jensen
2000-04-15  0:00                         ` Niklas Holsti
2000-04-15  0:00                           ` Marin D. Condic
2000-04-07  0:00                 ` Robert Dewar
2000-04-07  0:00                   ` Marin D. Condic
2000-04-09  0:00               ` Robert I. Eachus
2000-03-18  0:00   ` Robert Dewar
2000-03-18  0:00   ` Robert Dewar
replies disabled

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