Decomposing probabilistic lambda-calculi

Research output: Contribution to conferencePaper


A notion of probabilistic lambda-calculus usually comes with a prescribed reduction strategy, typically call-by-name or call-by-value, as the calculus is non-confluent and these strategies yield different results. This is a break with one of the main advantages of lambda-calculus: confluence, which means results are independent from the choice of strategy. We present a probabilistic lambda-calculus where the probabilistic operator is decomposed into two syntactic constructs: a generator, which represents a probabilistic event; and a consumer, which acts on the term depending on a given event. The resulting calculus, the Probabilistic Event Lambda-Calculus, is confluent, and interprets the call-by-name and call-by-value strategies through different interpretations of the probabilistic operator into our generator and consumer constructs. We present two notions of reduction, one via fine-grained local rewrite steps, and one by generation and consumption of probabilistic events. Simple types for the calculus are essentially standard, and they convey strong normalization. We demonstrate how we can encode call-by-name and call-by-value probabilistic evaluation.

Original languageEnglish
Number of pages21
Publication statusPublished - 1 Jan 2020
Event23rd International Conference on Foundations of Software Science and Computation Structures - Dublin, Ireland
Duration: 25 Apr 2020 → …


Conference23rd International Conference on Foundations of Software Science and Computation Structures
Abbreviated titleFoSSaCS 2020
Period25/04/20 → …
Internet address

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Decomposing probabilistic lambda-calculi'. Together they form a unique fingerprint.

Cite this