English
Related papers

Related papers: Lazy Evaluation and Delimited Control

200 papers

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…

Logic in Computer Science · Computer Science 2020-02-21 Ugo Dal Lago , Giulio Guerrieri , Willem Heijltjes

We consider the call-by-value lambda-calculus extended with a may-convergent non-deterministic choice and a must-convergent parallel composition. Inspired by recent works on the relational semantics of linear logic and non-idempotent…

Logic in Computer Science · Computer Science 2014-01-08 Alejandro Díaz-Caro , Giulio Manzonetto , Michele Pagani

We present an abstract machine that implements a full-reducing (a.k.a. strong) call-by-value strategy for pure $\lambda$-calculus. It is derived using Danvy et al.'s functional correspondence from Cr\'egut's KN by: (1) deconstructing KN to…

Programming Languages · Computer Science 2020-09-16 Małgorzata Biernacka , Dariusz Biernacki , Witold Charatonik , Tomasz Drab

A comparison of Landin's form of lambda calculus with Church's shows that, independently of the lambda calculus, there exists a mechanism for converting functions with arguments indexed by variables to the usual kind of function where the…

Programming Languages · Computer Science 2015-06-01 M. H. van Emden

Abstract machines for strong evaluation of the $\lambda$-calculus enter into arguments and have a set of transitions for backtracking out of an evaluated argument. We study a new abstract machine which avoids backtracking by splitting the…

Logic in Computer Science · Computer Science 2023-10-03 Beniamino Accattoli , Pablo Barenbaum

This paper introduces a new machine architecture for evaluating lambda expressions using the normal-order reduction, which guarantees that every lambda expression will be evaluated if the expression has its normal form and the system has…

Logic in Computer Science · Computer Science 2010-11-05 Anton Salikhmetov

We present fully abstract encodings of the call-by-name and call-by-value $\lambda$-calculus into HOcore, a minimal higher-order process calculus with no name restriction. We consider several equivalences on the $\lambda$-calculus side --…

Logic in Computer Science · Computer Science 2024-08-07 Małgorzata Biernacka , Dariusz Biernacki , Sergueï Lenglet , Piotr Polesiuk , Damien Pous , Alan Schmitt

We present an abstract machine and a reduction semantics for the lambda-calculus extended with control operators that give access to delimited continuations in the CPS hierarchy. The abstract machine is derived from an evaluator in…

Logic in Computer Science · Computer Science 2023-06-27 Malgorzata Biernacka , Dariusz Biernacki , Olivier Danvy

Weak-head normalization is inconsistent with functional extensionality in the call-by-name $\lambda$-calculus. We explore this problem from a new angle via the conflict between extensionality and effects. Leveraging ideas from work on the…

Programming Languages · Computer Science 2016-06-22 Philip Johnson-Freyd , Paul Downen , Zena M. Ariola

Existing Curry-Howard interpretations of call-by-value evaluation for the $\lambda$-calculus are either based on ad-hoc modifications of intuitionistic proof systems or involve additional logical concepts such as classical logic or linear…

Logic in Computer Science · Computer Science 2024-11-06 Beniamino Accattoli

This paper studies useful sharing, which is a sophisticated optimization for lambda-calculi, in the context of call-by-need evaluation in presence of open terms. Useful sharing turns out to be harder in call-by-need than in call-by-name or…

Logic in Computer Science · Computer Science 2021-10-29 Beniamino Accattoli , Maico Leberle

The Functional Machine Calculus (FMC) was recently introduced as a generalization of the lambda-calculus to include higher-order global state, probabilistic and non-deterministic choice, and input and output, while retaining confluence. The…

Logic in Computer Science · Computer Science 2023-05-26 Chris Barrett

We consider the probabilistic applicative bisimilarity (PAB), a coinductive relation comparing the applicative behaviour of probabilistic untyped lambda terms according to a specific operational semantics. This notion has been studied with…

Logic in Computer Science · Computer Science 2020-04-28 Gianluca Curzi , Michele Pagani

We define a notion of normal form bisimilarity for the untyped call-by-value lambda calculus extended with the delimited-control operators shift and reset. Normal form bisimilarities are simple, easy-to-use behavioral equivalences which…

Programming Languages · Computer Science 2012-02-29 Dariusz Biernacki , Serguei Lenglet

For those of us who generally live in the world of syntax, semantic proof techniques such as reducibility, realizability or logical relations seem somewhat magical despite -- or perhaps due to -- their seemingly unreasonable effectiveness.…

Programming Languages · Computer Science 2020-07-28 Pierre-Évariste Dagand , Lionel Rieg , Gabriel Scherer

The objective of this paper is to develop a functional programming language for quantum computers. We develop a lambda calculus for the classical control model, following the first author's work on quantum flow-charts. We define a…

Logic in Computer Science · Computer Science 2009-02-26 Peter Selinger , Benoit Valiron

We study the weak call-by-value $\lambda$-calculus as a model for computational complexity theory and establish the natural measures for time and space -- the number of beta-reductions and the size of the largest term in a computation -- as…

Computational Complexity · Computer Science 2022-12-09 Yannick Forster , Fabian Kunze , Marc Roth

The resource calculus is an extension of the lambda-calculus allowing to model resource consumption. It is intrinsically non-deterministic and has two general notions of reduction - one parallel, preserving all the possible results as a…

Logic in Computer Science · Computer Science 2012-11-20 Maurizio Dominici , Simona Ronchi Della Rocca , Paolo Tranquilli

We define and study a term calculus implementing higher-order node replication. It is used to specify two different (weak) evaluation strategies: call-by-name and fully lazy call-by-need, that are shown to be observationally equivalent by…

Logic in Computer Science · Computer Science 2024-08-07 Delia Kesner , Loïc Peyrot , Daniel Ventura

The Functional Machine Calculus (Heijltjes 2022) is a new approach to unifying the imperative and functional programming paradigms. It extends the lambda-calculus, preserving the key features of confluent reduction and typed termination, to…

Programming Languages · Computer Science 2026-03-03 Willem Heijltjes