Measuring with confidence: leveraging expressive type systems for correct-by-construction software
DOI:
https://doi.org/10.21014/actaimeko.v12i1.1412Keywords:
type systems, correctness, metrology, programming languagesAbstract
Modern programming language type systems help programmers write correct software, and furthermore helps them write the software they actually intended to write. We show how expressive types can be used to encode dimension and units of measure information, which can be used to avoid dimensional mistakes and guide software construction, and how types can even help to generate code automatically, which eliminates a whole class of bugs.
Downloads
Published
Issue
Section
License
Copyright (c) 2023 Conor McBride, Georgi Nakov, Fredrik Nordvall Forsberg

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under the CC BY 4.0, Creative Commons Attribution 4.0 International License.
Users are free to
- share, i.e. copy and redistribute the material in any medium or format for any purpose, even commercially;
- adapt, i.e. remix, transform, and build upon the material for any purpose, even commercially.
At the same time, the user must give appropriate credit, provide a link to the license, and indicate if changes were made.
Additional information about the license can be found at: https://creativecommons.org/licenses/by/4.0/.
Authors are
- able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).