In this essay, I present the advantages and, I dare say, the beauty of programming in a language with set-theoretic types, that is, types that include union, intersection, and negation type connectives. I show by several examples how set-theoretic types are necessary to type some common programming patterns, but also how they play a key role in typing several language constructs-from branching and pattern matching to function overloading and type-cases-very precisely. I start by presenting the theory of types known as semantic subtyping and extend it to include polymorphic types. Next, I discuss the design of languages that use these types. I start by defining a theoretical framework that covers all the examples given in the first part of t...
Type information has many applications; it can e.g. be used in optimized compilation, termination a...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
AbstractWe present a type inference system for pure λ-calculus which includes, in addition to arrow ...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
We study set-theoretic types: types that include union, intersection, and negation connectives. Set-...
Abstract: "Type systems based on intersection types have been studied extensively in recent years, b...
This article is the second part of a two articles series about a calculus with higher-order polymorp...
: Intersection types and bounded quantification are complementary extensions of first-order a static...
AbstractThe aim of this work is largely a practical one. A widely employed style of programming, par...
Abstract. This article is the first part of a two articles series about a calculus with higher-order...
There exists an identifiable programming style based on the widespread use of type information handl...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We define two type assignment systems for first-order rewriting extended with application, -abstract...
International audiencePolymorphic variants are a useful feature of the OCaml language whose current ...
International audienceWe define and study the type system, local type inference, and execution model...
Type information has many applications; it can e.g. be used in optimized compilation, termination a...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
AbstractWe present a type inference system for pure λ-calculus which includes, in addition to arrow ...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
We study set-theoretic types: types that include union, intersection, and negation connectives. Set-...
Abstract: "Type systems based on intersection types have been studied extensively in recent years, b...
This article is the second part of a two articles series about a calculus with higher-order polymorp...
: Intersection types and bounded quantification are complementary extensions of first-order a static...
AbstractThe aim of this work is largely a practical one. A widely employed style of programming, par...
Abstract. This article is the first part of a two articles series about a calculus with higher-order...
There exists an identifiable programming style based on the widespread use of type information handl...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We define two type assignment systems for first-order rewriting extended with application, -abstract...
International audiencePolymorphic variants are a useful feature of the OCaml language whose current ...
International audienceWe define and study the type system, local type inference, and execution model...
Type information has many applications; it can e.g. be used in optimized compilation, termination a...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
AbstractWe present a type inference system for pure λ-calculus which includes, in addition to arrow ...