The theory of call-by-value solvability

Research output: Contribution to journalArticlepeer-review

Abstract

The semantics of the untyped (call-by-name) lambda-calculus is a well developed field built around the concept of solvable terms, which are elegantly characterized in many different ways. In particular, unsolvable terms provide a consistent notion of meaningless term. The semantics of the untyped call-by-value lambda-calculus (CbV) is instead still in its infancy, because of some inherent difficulties but also because CbV solvable terms are less studied and understood than in call-by-name. On the one hand, we show that a carefully crafted presentation of CbV allows us to recover many of the properties that solvability has in call-by-name, in particular qualitative and quantitative characterizations via multi types. On the other hand, we stress that, in CbV, solvability plays a different role: identifying unsolvable terms as meaningless induces an inconsistent theory.

Original languageEnglish
Article number121
JournalProceedings of the ACM on Programming Languages
Volume6
Issue numberICFP
DOIs
Publication statusPublished - 29 Aug 2022

Keywords

  • call-by-value
  • denotational semantics
  • intersection types
  • lambda calculus
  • operational semantics
  • solvability

Fingerprint

Dive into the research topics of 'The theory of call-by-value solvability'. Together they form a unique fingerprint.

Cite this