A Safe Low-level Language for Computer Algebra and its Formally Verified Compiler - Archive ouverte HAL
Communication Dans Un Congrès Année : 2024

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 (585.42 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

Citer

Guillaume Melquiond, Josué Moreau. A Safe Low-level Language for Computer Algebra and its Formally Verified Compiler. 29th ACM SIGPLAN International Conference on Functional Programming, Sep 2024, Milan, Italy. pp.121-146, ⟨10.1145/3674629⟩. ⟨hal-04485670v2⟩
212 Consultations
211 Téléchargements

Altmetric

Partager

More