中文
相关论文

相关论文: A Framework for Dependent Types and Effects

200 篇论文

We extend Levy's call-by-push-value (CBPV) analysis from simple to dependent type theory (DTT) in order to study the interaction between computational effects and dependent types. We define the naive system of dependently typed CBPV,…

编程语言 · 计算机科学 2016-03-15 Matthijs Vákár

Effect and coeffect tracking integrate many types of compile-time analysis, such as cost, liveness, or dataflow, directly into a language's type system. In this paper, we investigate the addition of effect and coeffect tracking to the type…

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…

计算机科学中的逻辑 · 计算机科学 2012-07-25 Ugo Dal Lago , Barbara Petit

Call-by-Push-Value (CBPV) is a programming paradigm subsuming both Callby-Name (CBN) and Call-by-Value (CBV) semantics. The essence of this paradigm is captured by the Bang Calculus, a (concise) term language connecting CBPV and Linear…

计算机科学中的逻辑 · 计算机科学 2023-05-08 Antonio Bucciarelli , Delia Kesner , Alejandro Ríos , Andrés Viso

This work proposes a dependent type theory that combines functions and session-typed processes (with value dependencies) through a contextual monad, internalising typed processes in a dependently-typed lambda-calculus. The proposed…

编程语言 · 计算机科学 2018-01-25 Bernardo Toninho , Nobuko Yoshida

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

Dependent types provide a lightweight and modular means to integrate programming and formal program verification. In particular, the types of programs written in dependently typed programming languages (Agda, Idris, F*, etc.) can be used to…

计算机科学中的逻辑 · 计算机科学 2017-10-10 Danel Ahman

We establish a general framework for reasoning about the relationship between call-by-value and call-by-name. In languages with computational effects, call-by-value and call-by-name executions of programs often have different, but related,…

编程语言 · 计算机科学 2024-08-07 Dylan McDermott , Alan Mycroft

We give a denotational account of logical relations for call-by-push-value (CBPV) in the fibrational style of Hermida, Jacobs, Katsumata and others. Fibrations -- which axiomatise the usual notion of sets-with-relations -- provide a clean…

计算机科学中的逻辑 · 计算机科学 2025-06-16 Pedro H. Azevedo de Amorim , Satoshi Kura , Philip Saville

Levy's call-by-push-value is a comprehensive programming paradigm that combines elements from functional and imperative programming, supports computational effects and subsumes both call-by-value and call-by-name evaluation strategies. In…

编程语言 · 计算机科学 2025-03-11 Sergey Goncharov , Stelios Tsampas , Henning Urbat

Compilers use control flow graph (CFG) representations of low-level programs because they are suited to program analysis and optimizations. However, formalizing the behavior and metatheory of CFG programs is non-trivial: CFG programs don't…

编程语言 · 计算机科学 2018-05-16 Dmitri Garbuzov , William Mansky , Christine Rizkallah , Steve Zdancewic

Reasoning about the cost of executing programs is one of the fundamental questions in computer science. In the context of programming with probabilities, however, the notion of cost stops being deterministic, since it depends on the…

编程语言 · 计算机科学 2025-02-28 Pedro H. Azevedo de Amorim

Monads provide a simple and concise interface to user-defined computational effects in functional programming languages. This enables equational reasoning about effects, abstraction over monadic interfaces and the development of monad…

编程语言 · 计算机科学 2025-05-05 Yuchen Jiang , Runze Xue , Max S. New

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

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

Intersection type systems have been independently applied to different evaluation strategies, such as call-by-name (CBN) and call-by-value (CBV). These type systems have been then generalized to different subsuming paradigms being able, in…

计算机科学中的逻辑 · 计算机科学 2024-04-23 Pablo Barenbaum , Delia Kesner , Mariana Milicich

Dependently typed programming languages have become increasingly relevant in recent years. They have been adopted in industrial strength programming languages and have been extremely successful as the basis for theorem provers. There are…

编程语言 · 计算机科学 2024-04-09 Christophe Scholliers

Session types have emerged as a typing discipline for communication protocols. Existing calculi with session types come equipped with many different primitives that combine communication with the introduction or elimination of the…

编程语言 · 计算机科学 2019-11-12 Peter Thiemann , Vasco T. Vasconcelos

We show how (well-established) type systems based on non-idempotent intersection types can be extended to characterize termination properties of functional programming languages with pattern matching features. To model such programming…

编程语言 · 计算机科学 2024-08-21 Sandra Alves , Delia Kesner , Miguel Ramos

Gradual dependent types can help with the incremental adoption of dependently typed code by providing a principled semantics for imprecise types and proofs, where some parts have been omitted. Current theories of gradual dependent types,…

编程语言 · 计算机科学 2022-05-04 Joseph Eremondi , Ronald Garcia , Éric Tanter
‹ 上一页 1 2 3 10 下一页 ›