HAL CCSD
Type Inference For Linear Algebra With Units Of Measurement
Griffioen, Paul
Analysis and Transformation based on rEliAble tool coMpositionS (ATEAMS) ; Inria Lille - Nord Europe ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centrum Wiskunde & Informatica (CWI)
Report N°: SwAT-1302
hal-00923380
https://inria.hal.science/hal-00923380
https://inria.hal.science/hal-00923380
[Technical Report] SwAT-1302, 2013, pp.1 - 32
en
[INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE]
info:eu-repo/semantics/report
Reports
Refining types of numerical data with units of measurement has the potential to increase safety of programming languages but is restricted to homogeneous units when checked statically with parametric polymorphism. We lift units to vectors and show how type inference of linear algebra expressions can statically determine safety for data with heterogeneous units. The typing is based on the dyadic product of units that is found in linear transformations and the corresponding vector spaces. Since it is a refinement of Kennedy's types for units we automatically obtain a unification algorithm, which gives principal types for linear algebra. The extension of unit-unification to numerical data with heterogeneous units makes the safety of statically checked numerical expressions available to a significantly larger set of use-cases.
2013