Skip to main navigation Skip to search Skip to main content

On the value of variables

  • University of Bologna

Research output: Contribution to journalArticlepeer-review

Abstract

Call-by-value and call-by-need λ-calculi are defined using the distinguished syntactic category of values. In theoretical studies, values are variables and abstractions. In more practical works, values are usually defined simply as abstractions. This paper shows that practical values lead to a more efficient process of substitution—for both call-by-value and call-by-need—once the usual hypotheses for implementations hold (terms are closed, reduction does not go under abstraction, and substitution is done in micro steps, replacing one variable occurrence at a time). Namely, the number of substitution steps becomes linear in the number of β-redexes, while theoretical values only provide a quadratic bound. We complete the picture by showing that the same quadratic / linear bounds also hold for theoretical / practical versions of call-by-name.

Original languageEnglish
Pages (from-to)224-242
Number of pages19
JournalInformation and Computation
Volume255
DOIs
Publication statusPublished - 1 Aug 2017

Keywords

  • Cost models
  • Explicit substitutions
  • Implementations of functional programming languages
  • λ-Calculus

Fingerprint

Dive into the research topics of 'On the value of variables'. Together they form a unique fingerprint.

Cite this