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 \lambda-calculus

lmcs:927 - Logical Methods in Computer Science, December 9, 2014, Volume 10, Issue 4 -
Call-by-value, call-by-name and the vectorial behaviour of the algebraic \lambda-calculusArticle

Authors: Ali Assaf ; Alejandro Díaz-Caro ORCID; Simon Perdrix ; Christine Tasson ORCID; Benoî t Valiron

    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.

    Volume: Volume 10, Issue 4
    Published on: December 9, 2014
    Imported on: February 27, 2014
    Keywords: Computer Science - Logic in Computer Science

    5 Documents citing this article

    Consultation statistics

    This page has been seen 2090 times.
    This article's PDF has been downloaded 853 times.