English
Related papers

Related papers: Open Call-by-Value (Extended Version)

200 papers

We study the lambda-mu-calculus, extended with explicit substitution, and define a compositional output-based interpretation into a variant of the pi-calculus with pairing that preserves single-step explicit head reduction with respect to…

Logic in Computer Science · Computer Science 2016-02-22 Steffen van Bakel , Maria Grazia Vigliotti

We study an extension of Plotkin's call-by-value lambda-calculus via two commutation rules (sigma-reductions). These commutation rules are sufficient to remove harmful call-by-value normal forms from the calculus, so that it enjoys elegant…

Logic in Computer Science · Computer Science 2019-03-14 Giulio Guerrieri , Luca Paolini , Simona Ronchi Della Rocca

Many calculi exist for modelling various features of object-oriented languages. Many of them are based on $\lambda$-calculus and focus either on statically typed class-based languages or dynamic prototype-based languages. We formalize…

Programming Languages · Computer Science 2022-12-05 Nikolai Kudasov , Violetta Sim

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

Open-domain question answering (Open-QA) is a common task for evaluating large language models (LLMs). However, current Open-QA evaluations are criticized for the ambiguity in questions and the lack of semantic understanding in evaluators.…

Computation and Language · Computer Science 2024-05-28 Peiran Yao , Denilson Barbosa

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

Finding a denotational semantics for higher order quantum computation is a long-standing problem in the semantics of quantum programming languages. Most past approaches to this problem fell short in one way or another, either limiting the…

Logic in Computer Science · Computer Science 2013-11-12 Michele Pagani , Peter Selinger , Benoît Valiron

We aim to reason about the correctness of behaviour-preserving transformations of Erlang programs. Behaviour preservation is characterised by semantic equivalence. Based upon our existing formal semantics for Core Erlang, we investigate…

Programming Languages · Computer Science 2022-08-31 Dániel Horpácsi , Péter Bereczky , Simon Thompson

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

We classify programming languages according to evaluation order: each language fixes one evaluation order as the default, making it transparent to program in that evaluation order, and troublesome to program in the other. This paper…

Programming Languages · Computer Science 2020-08-25 Jana Dunfield

We introduce a variation on Barthe et al.'s higher-order logic in which formulas are interpreted as predicates over open rather than closed objects. This way, concepts which have an intrinsically functional nature, like continuity,…

Logic in Computer Science · Computer Science 2022-11-22 Ugo Dal Lago , Francesco Gavazzo , Alexis Ghyselen

Static analyzers based on abstract interpretation are complex pieces of software implementing delicate algorithms. Even if static analysis techniques are well understood, their implementation on real languages is still error-prone. This…

Programming Languages · Computer Science 2013-05-02 Sandrine Blazy , Vincent Laporte , André Maroneze , David Pichardie

The goal of this lecture is to show how modern theorem provers---in this case, the Coq proof assistant---can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs and…

Programming Languages · Computer Science 2010-10-28 Xavier Leroy

Linear dependent types allow to precisely capture both the extensional behaviour and the time complexity of lambda terms, when the latter are evaluated by Krivine's abstract machine. In this work, we show that the same paradigm can be…

Logic in Computer Science · Computer Science 2012-07-25 Ugo Dal Lago , Barbara Petit

Substructural type systems, such as affine (and linear) type systems, are type systems which impose restrictions on copying (and discarding) of variables, and they have found many applications in computer science, including quantum…

Logic in Computer Science · Computer Science 2021-01-27 Vladimir Zamdzhiev

We provide a computational definition of the notions of vector space and bilinear functions. We use this result to introduce a minimal language combining higher-order computation and linear algebra. This language extends the Lambda-calculus…

Quantum Physics · Physics 2019-03-14 Pablo Arrighi , Gilles Dowek

The Functional Machine Calculus (FMC), recently introduced by the authors, is a generalization of the lambda-calculus which may faithfully encode the effects of higher-order mutable store, I/O and probabilistic/non-deterministic input.…

Logic in Computer Science · Computer Science 2023-02-07 Chris Barrett , Willem Heijltjes , Guy McCusker

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

Ariola and Felleisen's call-by-need {\lambda}-calculus replaces a variable occurrence with its value at the last possible moment. To support this gradual notion of substitution, function applications-once established-are never discharged.…

Programming Languages · Computer Science 2010-09-17 Stephen Chang , David Van Horn , Matthias Felleisen

We present a new type system with support for proofs of programs in a call-by-value language with control operators. The proof mechanism relies on observational equivalence of (untyped) programs. It appears in two type constructors, which…

Logic in Computer Science · Computer Science 2016-04-08 Rodolphe Lepigre
‹ Prev 1 4 5 6 7 8 10 Next ›