English
Related papers

Related papers: Deadlock-Free Session Types in Linear Haskell

200 papers

We present a calculus that models a form of process interaction based on copyless message passing, in the style of Singularity OS. The calculus is equipped with a type system ensuring that well-typed processes are free from memory faults,…

Programming Languages · Computer Science 2015-07-01 Viviana Bono , Luca Padovani

We present a type checking algorithm for establishing a session-based discipline in the pi calculus of Milner, Parrow and Walker. Our session types are qualified as linear or unrestricted. Linearly typed communication channels are…

Programming Languages · Computer Science 2011-08-12 Marco Giunti

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact…

Programming Languages · Computer Science 2017-03-01 Julien Lange , Nicholas Ng , Bernardo Toninho , Nobuko Yoshida

Session types are types for specifying the protocols that communicating processes must follow in a concurrent system. When composing two or more well-typed processes, a session typing system must check whether such processes are multiparty…

Logic in Computer Science · Computer Science 2023-05-26 Marco Carbone , Sonia Marin , Carsten Schürmann

We present the first session typing system guaranteeing request-response liveness properties for possibly non-terminating communicating processes. The types augment the branch and select types of the standard binary session types with a set…

Logic in Computer Science · Computer Science 2017-01-11 Søren Debois , Thomas Hildebrandt , Tijs Slaats , Nobuko Yoshida

Self-supervised learning (SSL) of speech has shown impressive results in speech-related tasks, particularly in automatic speech recognition (ASR). While most methods employ the output of intermediate layers of the SSL model as real-valued…

Sound · Computer Science 2023-05-30 Xuankai Chang , Brian Yan , Yuya Fujita , Takashi Maekaku , Shinji Watanabe

Type classes are one of Haskell's most popular features and extend its type system with ad-hoc polymorphism. Since their conception, there were useful features that could not be offered because of the desire to offer two correctness…

Programming Languages · Computer Science 2018-07-31 Thomas Winant , Dominique Devriese

Message passing is a fundamental element in software development, ranging from concurrent and mobile computing to distributed services, but it suffers from communication errors such as deadlocks. Session types are a typing discipline for…

Programming Languages · Computer Science 2023-10-23 Zekun Ji , Shuling Wang , Xiong Xu

Redis is an in-memory data structure store, often used as a database, with a Haskell interface Hedis. Redis is dynamically typed --- a key can be discarded and re-associated to a value of a different type, and a command, when fetching a…

Programming Languages · Computer Science 2017-08-31 Ting-Yan Lai , Tyng-Ruey Chuang , Shin-Cheng Mu

Session types are a type-based approach to the verification of message-passing programs. They specify communication structures essential to enforcing program correctness; by relying on sequencing constructs, a session type can precisely…

Programming Languages · Computer Science 2025-05-14 Alen Arslanagić , Jorge A. Pérez , Dan Frumin

Concurrent hash tables are one of the most important concurrent data structures with numerous applications. Since hash table accesses can dominate the execution time of the overall application, we need implementations that achieve good…

Data Structures and Algorithms · Computer Science 2016-09-07 Tobias Maier , Peter Sanders , Roman Dementiev

Safely integrating third-party code in applications while protecting the confidentiality of information is a long-standing problem. Pure functional programming languages, like Haskell, make it possible to enforce lightweight…

Programming Languages · Computer Science 2019-04-18 Simon Gregersen , Søren Eller Thomsen , Aslan Askarov

We present a formalization of session types in a multi-threaded lambda-calculus (MTLC) equipped with a linear type system, establishing for the MTLC both type preservation and global progress. The latter (global progress) implies that the…

Programming Languages · Computer Science 2016-03-14 Hongwei Xi , Zhiqiang Ren , Hanwen Wu , William Blair

Session types using affinity and exception handling mechanisms have been developed to ensure the communication safety of protocols implemented in concurrent and distributed programming languages. Nevertheless, current affine session types…

Programming Languages · Computer Science 2024-09-02 Ping Hou , Nicolas Lagaillardie , Nobuko Yoshida

In a process algebra with hiding and recursion it is possible to create processes which compute internally without ever communicating with their environment. Such processes are said to diverge or livelock. In this paper we show how it is…

Logic in Computer Science · Computer Science 2015-07-01 Joel Ouaknine , Hristina Palikareva , A. W. Roscoe , James Worrell

This paper introduces Hypersequent GV (HGV), a modular and extensible core calculus for functional programming with session types that enjoys deadlock freedom, confluence, and strong normalisation. HGV exploits hyper-environments, which are…

Programming Languages · Computer Science 2024-02-14 Simon Fowler , Wen Kokke , Ornela Dardha , Sam Lindley , J. Garrett Morris

We consider the problem of designing typed concurrent calculi with non-deterministic choice in which types leverage linearity for controlling resources, thereby ensuring strong correctness properties for processes. This problem is…

Logic in Computer Science · Computer Science 2024-12-18 Bas van den Heuvel , Daniele Nantes-Sobrinho , Joseph W. N. Paulus , Jorge A. Pérez

Session types are a typed approach to message-passing concurrency, where types describe sequences of intended exchanges over channels. Session type systems have been given strong logical foundations via Curry-Howard correspondences with…

Logic in Computer Science · Computer Science 2024-08-23 Bas van den Heuvel , Jorge A. Pérez

The widespread applications of large language models (LLMs) have brought about concerns regarding their potential misuse. Although aligned with human preference data before release, LLMs remain vulnerable to various malicious attacks. In…

Cryptography and Security · Computer Science 2025-03-04 Yan Yang , Zeguan Xiao , Xin Lu , Hongru Wang , Xuetao Wei , Hailiang Huang , Guanhua Chen , Yun Chen

Predicate-based communication allows components of a system to send messages and requests to ensembles of components that are determined at execution time through the evaluation of a predicate, in a multicast fashion. Predicate-based…

Programming Languages · Computer Science 2014-06-10 Diego Latella , Michele Loreti , Mieke Massink , Valerio Senni