Safety at Speed
Paper i proceeding, 2019

We present a purely functional array programming language that offers safe, purely functional and crash-free in-place array transformations. The language supports high-level abstractions for pure and efficient array computations that fully support equational reasoning. We show how to execute selected parts of these computations safely in-place, with the compiler guaranteeing that in-place execution does not change the computation’s result. Correctness is ensured by using an off-the-shelf-theorem prover to discharge safety conditions. Our main contribution is the idea of virtual copies for expressing re-use of arrays, and techniques for verifying their safety, which allow a pure language to include in-place transformations without weakening its transparency or rea- soning power.

Translator writing systems and compiler generators.

Software and its engineering → Func- tional languages

Författare

Markus Aronsson

Chalmers, Data- och informationsteknik, Funktionell programmering

Nicholas Smallbone

Chalmers, Data- och informationsteknik, Funktionell programmering

Mary Sheeran

Chalmers, Data- och informationsteknik, Funktionell programmering

Koen Claessen

Chalmers, Data- och informationsteknik, Funktionell programmering

FHPNC 2019 Proceedings of the 8th ACM SIGPLAN International Workshop on Functional

34-46

Functional High-Performance and Numerical Computing
Berlin, Germany,

Ämneskategorier

Språkteknologi (språkvetenskaplig databehandling)

Inbäddad systemteknik

Datorsystem

DOI

10.1145/3331553.3342616

Mer information

Skapat

2019-08-27