English
Related papers

Related papers: Strong Call-by-Value and Multi Types

200 papers

The Functional Machine Calculus (FMC, Heijltjes 2022) extends the lambda-calculus with the computational effects of global mutable store, input/output, and probabilistic choice while maintaining confluent reduction and simply-typed strong…

Logic in Computer Science · Computer Science 2025-05-16 Willem Heijltjes

Many different systems with explicit substitutions have been proposed to implement a large class of higher-order languages. Motivations and challenges that guided the development of such calculi in functional frameworks are surveyed in the…

Programming Languages · Computer Science 2015-07-01 Delia Kesner

Multi types---aka non-idempotent intersection types---have been used to obtain quantitative bounds on higher-order programs, as pioneered by de Carvalho. Notably, they bound at the same time the number of evaluation steps and the size of…

Programming Languages · Computer Science 2018-07-09 Beniamino Accattoli , Stéphane Graham-Lengrand , Delia Kesner

In the first part of this paper, we define two resource aware typing systems for the {\lambda}{\mu}-calculus based on non-idempotent intersection and union types. The non-idempotent approach provides very simple combinatorial…

Logic in Computer Science · Computer Science 2023-06-22 Delia Kesner , Pierre Vial

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

The lambda calculus is a widely accepted computational model of higher-order functional pro- grams, yet there is not any direct and universally accepted cost model for it. As a consequence, the computational difficulty of reducing lambda…

Logic in Computer Science · Computer Science 2012-02-09 Beniamino Accattoli , Ugo Dal Lago

We give a categorical semantics for a call-by-value linear lambda calculus. Such a lambda calculus was used by Selinger and Valiron as the backbone of a functional programming language for quantum computation. One feature of this lambda…

Logic in Computer Science · Computer Science 2008-01-08 Peter Selinger , Benoît Valiron

The so-called light logics have been introduced as logical systems enjoying quite remarkable normalization properties. Designing a type assignment system for pure lambda calculus from these logics, however, is problematic. In this paper we…

Logic in Computer Science · Computer Science 2015-07-01 Paolo Coppola , Ugo Dal Lago , Simona Ronchi Della Rocca

Probabilistic applicative bisimulation is a recently introduced coinductive methodology for program equivalence in a probabilistic, higher-order, setting. In this paper, the technique is applied to a typed, call-by-value, lambda-calculus.…

Logic in Computer Science · Computer Science 2014-01-30 Raphaelle Crubille , Ugo Dal Lago

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Logic in Computer Science · Computer Science 2019-03-14 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

We consider the untyped lambda calculus with constructors and recursively defined constants. We construct a domain-theoretic model such that any term not denoting bottom is strongly normalising provided all its `stratified approximations'…

Computer Science and Game Theory · Computer Science 2017-01-11 Ulrich Berger

We introduce a call-by-name lambda-calculus $\lambda Jn$ with generalized applications which is equipped with distant reduction. This allows to unblock $\beta$-redexes without resorting to the standard permutative conversions of generalized…

Logic in Computer Science · Computer Science 2024-08-07 José Espírito Santo , Delia Kesner , Loïc Peyrot

We describe a type system for the linear-algebraic $\lambda$-calculus. The type system accounts for the linear-algebraic aspects of this extension of $\lambda$-calculus: it is able to statically describe the linear combinations of terms…

Logic in Computer Science · Computer Science 2017-05-12 Pablo Arrighi , Alejandro Díaz-Caro , Benoît Valiron

In this paper we introduce a typed, concurrent $\lambda$-calculus with references featuring explicit substitutions for variables and references. Alongside usual safety properties, we recover strong normalization. The proof is based on a…

Logic in Computer Science · Computer Science 2021-02-11 Yann Hamdaoui , Benoît Valiron

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

We introduce a Curry-Howard correspondence for a large class of intermediate logics characterized by intuitionistic proofs with non-nested applications of rules for classical disjunctive tautologies (1-depth intermediate proofs). The…

Logic in Computer Science · Computer Science 2020-04-22 Federico Aschieri , Agata Ciabattoni , Francesco A. Genco

We consider the non-deterministic extension of the call-by-value lambda calculus, which corresponds to the additive fragment of the linear-algebraic lambda-calculus. We define a fine-grained type system, capturing the right linearity…

Logic in Computer Science · Computer Science 2012-09-12 Alejandro Díaz-Caro , Barbara Petit

The aim of this work is to characterize three fundamental normalization proprieties in lambda-calculus trough the Taylor expansion of $ \lambda$-terms. The general proof strategy consists in stating the dependence of ordinary reduction…

Logic in Computer Science · Computer Science 2020-01-07 Federico Olimpieri

Extending the lambda-calculus with a construct for sharing, such as let expressions, enables a special representation of terms: iterated applications are decomposed by introducing sharing points in between any two of them, reducing to the…

Logic in Computer Science · Computer Science 2019-07-16 Beniamino Accattoli , Andrea Condoluci , Giulio Guerrieri , Claudio Sacerdoti Coen

A fully-automated algorithm is developed able to show that evaluation of a given untyped lambda-expression will terminate under CBV (call-by-value). The ``size-change principle'' from first-order programs is extended to arbitrary untyped…

Programming Languages · Computer Science 2015-07-01 Neil D. Jones , Nina Bohr