11 research outputs found
System with Context-free Session Types
We study increasingly expressive type systems, from -- an extension
of the polymorphic lambda calculus with equirecursive types -- to
-- the higher-order polymorphic lambda calculus with
equirecursive types and context-free session types. Type equivalence is given
by a standard bisimulation defined over a novel labelled transition system for
types. Our system subsumes the contractive fragment of as
studied in the literature. Decidability results for type equivalence of the
various type languages are obtained from the translation of types into objects
of an appropriate computational model: finite-state automata, simple grammars
and deterministic pushdown automata. We show that type equivalence is decidable
for a significant fragment of the type language. We further propose a
message-passing, concurrent functional language equipped with the expressive
type language and show that it enjoys preservation and absence of runtime
errors for typable processes.Comment: 38 pages, 13 figure
The Different Shades of Infinite Session Types
Many type systems include infinite types. In session type
systems, infinite types are important because they specify communication protocols that are unbounded in time. Usually infinite session
types are introduced as simple finite-state expressions rec X.T or by nonparametric equational definitions X
.= T. Alternatively, some systems of
label- or value-dependent session types go beyond simple recursive types.
However, leaving dependent types aside, there is a much richer world of
infinite session types, ranging through various forms of parametric equational definitions, to arbitrary infinite types in a coinductively defined
space. We study infinite session types across a spectrum of shades of grey
on the way to the bright light of general infinite types. We identify four
points on the spectrum, characterised by different styles of equational
definitions, and show that they form a strict hierarchy by establishing
bidirectional correspondences with classes of automata: finite-state, 1-
counter, pushdown and 2-counter. This allows us to establish decidability
and undecidability results for type formation, type equivalence and duality in each class of types. We also consider previous work on context-free
session types (and extend it to higher-order) and nested session types,
and locate them on our spectrum of infinite types
Foundations of Software Science and Computation Structures
This open access book constitutes the proceedings of the 25th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2022, which was held during April 4-6, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 23 regular papers presented in this volume were carefully reviewed and selected from 77 submissions. They deal with research on theories and methods to support the analysis, integration, synthesis, transformation, and verification of programs and software systems
Foundations of Software Science and Computation Structures
This open access book constitutes the proceedings of the 25th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2022, which was held during April 4-6, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 23 regular papers presented in this volume were carefully reviewed and selected from 77 submissions. They deal with research on theories and methods to support the analysis, integration, synthesis, transformation, and verification of programs and software systems
Programming Languages and Systems
This open access book constitutes the proceedings of the 30th European Symposium on Programming, ESOP 2021, which was held during March 27 until April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The 24 papers included in this volume were carefully reviewed and selected from 79 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems
On Type Definitions with Parameters
This paper analyzes some of the consequences of allowing the definition of parameterized data types in programming languages. A typical use of such types is:type queue(x) = struct (x, ref (queue (x))),intqueue = queue(int).It is shown that the addition of parameters permits the definition of new types not definable without parameters. In particular, the types definable with parameters are closely related to the deterministic context-free languages, whereas the author has previously shown that the types definable without parameters are characterized by the regular (i.e. finite state) languages.An important consequence of this fact is that the type equivalence problem, which is easily solvable in the absence of parameters, becomes equivalent to the (currently open) equivalence problem for deterministic pushdown automata