A Safe Low-level Language for Computer Algebra and its Formally Verified Compiler - Inria - Institut national de recherche en sciences et technologies du numérique
Pré-Publication, Document De Travail Année : 2023

A Safe Low-level Language for Computer Algebra and its Formally Verified Compiler

Résumé

This article describes a programming language for writing low-level libraries for computer algebra systems. Such libraries (GMP, BLAS/LAPACK, etc) are usually written in C, Fortran, and Assembly, and make heavy use of arrays and pointers. The proposed language, halfway between C and Rust, is designed to be safe and to ease the deductive verification of programs, while being low-level enough to be suitable for this kind of computationally intensive applications. This article also describes a compiler for this language, based on CompCert. The safety of the language has been formally proved using the Coq proof assistant, and so has the property of semantics preservation for the compiler. While the language is not yet feature-complete, this article shows what it entails to design a new domain-specific programming language along its formally verified compiler.
Fichier principal
Vignette du fichier
article.pdf (562.4 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04485670 , version 1 (01-03-2024)
hal-04485670 , version 2 (28-06-2024)

Licence

Identifiants

  • HAL Id : hal-04485670 , version 1

Citer

Josué Moreau, Guillaume Melquiond. A Safe Low-level Language for Computer Algebra and its Formally Verified Compiler. 2023. ⟨hal-04485670v1⟩
212 Consultations
211 Téléchargements

Partager

More