中文
相关论文

相关论文: Galois connecting call-by-value and call-by-name

200 篇论文

The denotational semantics of the untyped lambda-calculus is a well developed field built around the concept of solvable terms, which are elegantly characterized in many different ways. In particular, unsolvable terms provide a consistent…

计算机科学中的逻辑 · 计算机科学 2022-07-19 Beniamino Accattoli , Giulio Guerrieri

Programs with control are usually modeled using lambda calculus extended with control operators. Instead of modifying lambda calculus, we consider a different model of computation. We introduce continuation calculus, or CC, a deterministic…

计算机科学中的逻辑 · 计算机科学 2013-09-06 Bram Geron , Herman Geuvers

Previous deforestation and supercompilation algorithms may introduce accidental termination when applied to call-by-value programs. This hides looping bugs from the programmer, and changes the behavior of a program depending on whether it…

编程语言 · 计算机科学 2015-07-01 Peter A. Jonsson , Johan Nordlander

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…

计算机科学中的逻辑 · 计算机科学 2022-05-31 David Sabel , Manfred Schmidt-Schauß , Luca Maio

There is no known way of giving a domain-theoretic semantics to higher-order probabilistic languages, in such a way that the involved domains are continuous or quasi-continuous - the latter is required to do any serious mathematics. We…

计算机科学中的逻辑 · 计算机科学 2019-04-08 Jean Goubault-Larrecq

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…

编程语言 · 计算机科学 2020-08-25 Jana Dunfield

The main way of analyzing the complexity of a program is that of extracting and solving a recurrence that expresses its running time in terms of the size of its input. We develop a method that automatically extracts such recurrences from…

编程语言 · 计算机科学 2019-11-13 G. A. Kavvos , Edward Morehouse , Daniel R. Licata , Norman Danner

Effect systems are used to statically reason about the effects an expression may have when evaluated. In the literature, such effects include various behaviours as diverse as memory accesses and exception throwing. Here we present CallE, an…

编程语言 · 计算机科学 2019-09-09 Isaac Oscar Gariano , James Noble , Marco Servetto

We introduce two extensions of the $\lambda$-calculus with a probabilistic choice operator, $\Lambda_\oplus^{cbv}$ and $\Lambda_\oplus^{cbn}$, modeling respectively call-by-value and call-by-name probabilistic computation. We prove that…

计算机科学中的逻辑 · 计算机科学 2019-05-13 Claudia Faggian , Simona Ronchi della Rocca

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…

编程语言 · 计算机科学 2015-07-01 Neil D. Jones , Nina Bohr

Polarization of types in call-by-push-value naturally leads to the separation of inductively defined observable values (classified by positive types), and coinductively defined computations (classified by negative types), with adjoint…

编程语言 · 计算机科学 2022-01-27 Zeeshan Lakhani , Ankush Das , Henry DeYoung , Andreia Mordido , Frank Pfenning

We introduce an extension of Hoare logic for call-by-value higher-order functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higher-order functions and…

计算机科学中的逻辑 · 计算机科学 2015-07-01 Nobuko Yoshida , Kohei Honda , Martin Berger

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…

计算机科学中的逻辑 · 计算机科学 2024-11-06 Beniamino Accattoli

Call graphs depict the static, caller-callee relation between "functions" in a program. With most source/target languages supporting functions as the primitive unit of composition, call graphs naturally form the fundamental control flow…

软件工程 · 计算机科学 2016-11-17 Ganesh M. Narayan , K. Gopinath , V. Sridhar

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…

计算机科学中的逻辑 · 计算机科学 2008-01-08 Peter Selinger , Benoît Valiron

This paper provides a call-by-name and a call-by-value term calculus, both of which have a Curry-Howard correspondence to the box fragment of the intuitionistic modal logic IK. The strong normalizability and the confluency of the calculi…

计算机科学中的逻辑 · 计算机科学 2016-06-17 Yoshihiko Kakutani

Whether the number of beta-steps in the lambda-calculus can be taken as a reasonable time cost model (that is, polynomially related to the one of Turing machines) is a delicate problem, which depends on the notion of evaluation strategy.…

计算机科学中的逻辑 · 计算机科学 2021-10-29 Beniamino Accattoli , Andrea Condoluci , Claudio Sacerdoti Coen

Calculi with control operators have been studied to reason about control in programming languages and to interpret the computational content of classical proofs. To make these calculi into a real programming language, one should also…

计算机科学中的逻辑 · 计算机科学 2012-10-12 Robbert Krebbers

We investigate the possibility of a semantic account of the execution time (i.e. the number of beta-steps leading to the normal form, if any) for the shuffling calculus, an extension of Plotkin's call-by-value lambda-calculus. For this…

计算机科学中的逻辑 · 计算机科学 2019-04-25 Giulio Guerrieri

This paper provides a characterization of call-by-value solvability using call-by-value multi types. Our work is based on Accattoli and Paolini's characterization of call-by-value solvable terms as those terminating with respect to the…

计算机科学中的逻辑 · 计算机科学 2022-02-08 Beniamino Accattoli , Giulio Guerrieri