An Ada package for dimensional analysis
- 1 April 1988
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 10 (2) , 189-203
- https://doi.org/10.1145/42190.42346
Abstract
This paper illustrates the use of Ada's abstraction facilities—notably, operator overloading and type parameterization—to define an oft-requested feature: a way to attribute units of measure to variables and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems). Although the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient.Keywords
This publication has 5 references indexed in Scilit:
- Ada's derived types and units of measureSoftware: Practice and Experience, 1985
- Alternatives to keyword parametersACM SIGPLAN Notices, 1985
- A Proposal for an Extended Form of Type Checking of ExpressionsThe Computer Journal, 1983
- Incorporation of units into programming languagesCommunications of the ACM, 1978
- Units of measure as a data attributeComputer Languages, 1977