From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 16 Feb 93 16:51:09 GMT From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!howland.reston.ans.net!agate !linus!linus.mitre.org!vgiddings-mac.mitre.org!user@ucbvax.Berkeley.EDU (Victo r Giddings) Subject: Re: Dimensions (was: What's the difference between...) Message-ID: List-Id: In article <1993Feb15.151209.7531@inmet.camb.inmet.com>, stt@spock.camb.inmet.com (Tucker Taft) replies to: In article <1993Feb13.232516.5229@seas.gwu.edu> mfeldman@seas.gwu.edu (Michael Feldman) comments on support for dimensional types: > [discussion deleted} One aspect of this problem that hasn't been mentioned and may greatly affect the efficacy of some of the proposed solutions is that integer exponents aren't enough! At least some problems require that halves be expressable. One of the first subprograms that I attempted to write (after the standard one week "Intro to Ada" course) was Gauss's solution to the orbital intercept problem. In orbital mechanics, the constant 1/SQRT(GM) occurs fairly frequently. The units of this quantity are sec/(km**3/2) !! The resulting package to define all the permutations of "unitary operations" was so daunting that I reversed myself on advocating this type of checking. It requires support for SQRT in addition to "+", "-", "*", and "/". I commend the Gaussian intercept solution as a test case to those proposing solutions for dimensional types.