English
Related papers

Related papers: Node Replication: Theory And Practice

200 papers

Call-by-need evaluation for the lambda-calculus can be seen as merging the best of call-by-name and call-by-value, namely the wise erasing behaviour of the former and the wise duplicating behaviour of the latter. To better understand how…

Logic in Computer Science · Computer Science 2026-05-08 Beniamino Accattoli , Adrienne Lancelot

The existing call-by-need lambda calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivalent to another or to determine the value of a lazy…

Programming Languages · Computer Science 2012-01-19 Stephen Chang , Matthias Felleisen

To support the understanding of declarative probabilistic programming languages, we introduce a lambda-calculus with a fair binary probabilistic choice that chooses between its arguments with equal probability. The reduction strategy of the…

Logic in Computer Science · Computer Science 2022-05-31 David Sabel , Manfred Schmidt-Schauß , Luca Maio

In this short paper, we consider a form of higher-order rewriting with a call-by-value evaluation strategy so as to model call-by-value programs. We briefly present a cost-size semantics to call-by-value rewriting: a class of algebraic…

Logic in Computer Science · Computer Science 2023-07-26 Cynthia Kop , Deivid Vale

The call-by-need lambda calculus provides an equational framework for reasoning syntactically about lazy evaluation. This paper examines its operational characteristics. By a series of reasoning steps, we systematically unpack the…

Programming Languages · Computer Science 2015-07-01 Ronald Garcia , Andrew Lumsdaine , Amr Sabry

We show that call-by-need is observationally equivalent to weak-head needed reduction. The proof of this result uses a semantical argument based on a (non-idempotent) intersection type system called $\mathcal{V}$. Interestingly, system…

Logic in Computer Science · Computer Science 2020-09-09 Delia Kesner , Alejandro Ríos , Andrés Viso

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

Higher-order representations of objects such as programs, proofs, formulas and types have become important to many symbolic computation tasks. Systems that support such representations usually depend on the implementation of an intensional…

Programming Languages · Computer Science 2007-05-23 Xiaochu Qi

Strong call-by-need combines full normalization with the sharing discipline of lazy evaluation, yet no prior implementation achieved both simplicity and efficiency. We introduce RKNL, an abstract machine that realizes strong call-by-need…

Programming Languages · Computer Science 2026-03-24 Małgorzata Biernacka , Witold Charatonik , Tomasz Drab

This paper introduces a new term rewriting system that is similar to the embedded read-back mechanism for interaction nets presented in our previous work, but is easier to follow than in the original setting and thus to analyze its…

Logic in Computer Science · Computer Science 2018-08-21 Anton Salikhmetov

In implementing evaluation strategies of the lambda-calculus, both correctness and efficiency of implementation are valid concerns. While the notion of correctness is determined by the evaluation strategy, regarding efficiency there is a…

Programming Languages · Computer Science 2018-02-21 Koko Muroya , Dan R. Ghica

This thesis is devoted to the study of a calculus that describes the application of conditional rewriting rules and the obtained results at the same level of representation. We introduce the rewriting calculus, also called the rho-calculus,…

Symbolic Computation · Computer Science 2007-05-23 Horatiu Cirstea

Factorization -- a simple form of standardization -- is concerned with reduction strategies, i.e. how a result is computed. We present a new technique for proving factorization theorems for compound rewriting systems in a modular way, which…

Logic in Computer Science · Computer Science 2020-12-29 Beniamino Accattoli , Claudia Faggian , Giulio Guerrieri

This paper shows equivalence of several versions of applicative similarity and contextual approximation, and hence also of applicative bisimilarity and contextual equivalence, in LR, the deterministic call-by-need lambda calculus with…

Logic in Computer Science · Computer Science 2019-03-14 Manfred Schmidt-Schauß , David Sabel , Elena Machkasova

We define a variant of realizability where realizers are pairs of a term and a substitution. This variant allows us to prove the normalization of a simply-typed call-by-need $$\lambda$-$calculus with control due to Ariola et al. Indeed, in…

Logic in Computer Science · Computer Science 2018-03-05 Étienne Miquey , Hugo Herbelin

This paper gives a detailed account of the relationship between (a variant of) the call-by-value lambda calculus and linear logic proof nets. The presentation is carefully tuned in order to realize a strong bisimulation between the two…

Logic in Computer Science · Computer Science 2013-04-01 Beniamino Accattoli

Diagram chasing is not an easy task. The coherence holds in a generalized sense if we have a mechanical method to judge whether given two morphisms are equal to each other. A simple way to this end is to reform a concerned category into a…

Logic in Computer Science · Computer Science 2020-10-09 Ryu Hasegawa

We present a call-by-need $\lambda$-calculus that enables strong reduction (that is, reduction inside the body of abstractions) and guarantees that arguments are only evaluated if needed and at most once. This calculus uses explicit…

Logic in Computer Science · Computer Science 2023-06-22 Thibaut Balabonski , Antoine Lanco , Guillaume Melquiond

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

The lambda calculus since more than half a century is a model and foundation of functional programming languages. However, lambda expressions can be evaluated with different reduction strategies and thus, there is no fixed cost model nor…

Programming Languages · Computer Science 2024-05-22 Tomasz Drab
‹ Prev 1 2 3 10 Next ›