English
Related papers

Related papers: Session Type Inference in Haskell

200 papers

Type systems as a way to control or analyze programs have been largely studied in the context of functional programming languages. Some of those work allow to extract from a typing derivation for a program a complexity bound on this…

Logic in Computer Science · Computer Science 2019-10-08 Patrick Baillot , Alexis Ghyselen

Multi-stage programming is a proven technique that provides predictable performance characteristics by controlling code generation. We propose a core semantics for Typed Template Haskell, an extension of Haskell that supports multi staged…

Programming Languages · Computer Science 2021-12-08 Matthew Pickering , Andres Löh , Nicolas Wu

We explore the integration of metaprogramming in a call-by-value linear lambda-calculus and sketch its extension to a session type system. We build on a model of contextual modal type theory with multi-level contexts, where contextual…

Logic in Computer Science · Computer Science 2024-04-09 Pedro Ângelo , Atsushi Igarashi , Vasco T. Vasconcelos

This paper deals with the probabilistic behaviours of distributed systems described by a process calculus considering both probabilistic internal choices and nondeterministic external choices. For this calculus we define and study a typing…

Logic in Computer Science · Computer Science 2019-09-05 Bogdan Aman , Gabriel Ciobanu

In this study, we propose an exploratory approach aiming at a typology of user behaviour during a Web search session. We describe a typology based on generic IR variables (e.g. number of queries), but also on the study of topic…

Computation and Language · Computer Science 2024-12-05 Claire Ibarboure , Ludovic Tanguy , Franck Amadieu

The Session-Based Recommendation System aims to predict the user's next click based on their previous session sequence. The current studies generally learn user preferences according to the transitions of items in the user's session…

Information Retrieval · Computer Science 2023-10-06 Jinpeng Chen , Haiyang Li , Xudong Zhang , Fan Zhang , Senzhang Wang , Kaimin Wei , Jiaqi Ji

This paper proposes a way of doing type theory informally, assuming a cubical style of reasoning. It can thus be viewed as a first step toward a cubical alternative to the program of informalization of type theory carried out in the…

Logic in Computer Science · Computer Science 2023-12-29 Bruno Bentzen

Multiparty session types provide a type discipline for ensuring communication safety, deadlock-freedom and liveness for multiple concurrently running participants. The original formulation of MPST takes the top-down approach, where a global…

Programming Languages · Computer Science 2024-11-13 Thien Udomsrirungruang , Nobuko Yoshida

This paper presents the first formalisation of the precise subtyping relation for asynchronous multiparty sessions. We show that our subtyping relation is sound (i.e., guarantees safe process replacement) and also complete: any extension of…

Logic in Computer Science · Computer Science 2020-10-28 Silvia Ghilezan , Jovanka Pantović , Ivan Prokić , Alceste Scalas , Nobuko Yoshida

A cornerstone of the theory of lambda-calculus is that intersection types characterise termination properties. They are a flexible tool that can be adapted to various notions of termination, and that also induces adequate denotational…

Logic in Computer Science · Computer Science 2019-02-18 Beniamino Accattoli , Giulio Guerrieri , Maico Leberle

Homotopy type theory is an interpretation of Martin-L\"of's constructive type theory into abstract homotopy theory. There results a link between constructive mathematics and algebraic topology, providing topological semantics for…

Logic · Mathematics 2023-03-31 Steve Awodey , Nicola Gambino , Kristina Sojakova

The pattern-match safety problem is to verify that a given functional program will never crash due to non-exhaustive patterns in its function definitions. We present a refinement type system that can be used to solve this problem. The…

Programming Languages · Computer Science 2020-11-26 Eddie Jones , Steven Ramsay

It is now a common business practice to buy access to large language model (LLM) inference rather than self-host, because of significant upfront hardware infrastructure and energy costs. However, as a buyer, there is no mechanism to verify…

Machine Learning · Computer Science 2025-07-04 Cheng Zhang , Hanna Foerster , Robert D. Mullins , Yiren Zhao , Ilia Shumailov

Multiparty session types (MSTs) are a type-based approach to verifying communication protocols. Central to MSTs is a projection operator: a partial function that maps protocols represented as global types to correct-by-construction…

Formal Languages and Automata Theory · Computer Science 2024-03-28 Elaine Li , Felix Stutz , Thomas Wies , Damien Zufferey

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

We present a novel probabilistic programming framework that couples directly to existing large-scale simulators through a cross-platform probabilistic execution protocol, which allows general-purpose inference engines to record and control…

Haskell functions are defined as a series of clauses consisting of patterns that are matched against the arguments in the order of definition. In case an input is not matched by any of the clauses, an error occurs. Therefore it is desirable…

Programming Languages · Computer Science 2019-09-11 Pavel Kalvoda , Tom Sydney Kerckhove

Human-computer dialog plays a prominent role in interactions conducted at kiosks (e.g., withdrawing money from an atm or filling your car with gas), on smartphones (e.g., installing and configuring apps), and on the web (e.g., booking a…

Programming Languages · Computer Science 2025-03-03 Zachary S. Rowland , Saverio Perugini

We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals: (1) The type of a stream should be able to express complex sequential patterns of events over time. And (2) it should…

While formal models of concurrency tend to focus on synchronous communication, asynchronous communication is relevant in practice. In this paper, we will discuss asynchronous communication in the context of session-based concurrency, the…

Programming Languages · Computer Science 2024-12-12 Bas van den Heuvel , Jorge A. Pérez