Call-by-value, call-by-name and the vectorial behaviour of the algebraic λ-calculus - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Logical Methods in Computer Science Year : 2014

Call-by-value, call-by-name and the vectorial behaviour of the algebraic λ-calculus

Abstract

We examine the relationship between the algebraic lambda-calculus, a fragment of the differential lambda-calculus and the linear-algebraic lambda-calculus, a candidate lambda-calculus for quantum computation. Both calculi are algebraic: each one is equipped with an additive and a scalar-multiplicative structure, and their set of terms is closed under linear combinations. However, the two languages were built using different approaches: the former is a call-by-name language whereas the latter is call-by-value; the former considers algebraic equalities whereas the latter approaches them through rewrite rules. In this paper, we analyse how these different approaches relate to one another. To this end, we propose four canonical languages based on each of the possible choices: call-by-name versus call-by-value, algebraic equality versus algebraic rewriting. We show that the various languages simulate one another. Due to subtle interaction between beta-reduction and algebraic rewriting, to make the languages consistent some additional hypotheses such as confluence or normalisation might be required. We carefully devise the required properties for each proof, making them general enough to be valid for any sub-language satisfying the corresponding properties.

Dates and versions

hal-01097602 , version 1 (20-12-2014)

Identifiers

Cite

Ali Assaf, Alejandro Díaz-Caro, Simon Perdrix, Christine Tasson, Benoît Valiron. Call-by-value, call-by-name and the vectorial behaviour of the algebraic λ-calculus. Logical Methods in Computer Science, 2014, 10:4 (8), pp.40. ⟨10.2168/LMCS-10(4:8)2014⟩. ⟨hal-01097602⟩
165 View
0 Download

Altmetric

Share

Gmail Facebook X LinkedIn More