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...
Union types are nowadays a common feature in many modern programming languages. This paper investiga...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
We develop a system of type assignment with intersection types, union types, indexed types, and univ...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
Abstract: "Type systems based on intersection types have been studied extensively in recent years, b...
There exists an identifiable programming style based on the widespread use of type information handl...
: Intersection types and bounded quantification are complementary extensions of first-order a static...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We study set-theoretic types: types that include union, intersection, and negation connectives. Set-...
Abstract. This article is the first part of a two articles series about a calculus with higher-order...
Our objective is to understand the notion of type in programming languages, present a model of typed...
International audienceWe define and study the type system, local type inference, and execution model...
Abstract. We develop a system of type assignment with intersection types, union types, indexed types...
AbstractTwo types theories, ATT and ATTT, are introduced. ATT is an impredicative type theory closel...
This article is the second part of a two articles series about a calculus with higher-order polymorp...
Union types are nowadays a common feature in many modern programming languages. This paper investiga...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
We develop a system of type assignment with intersection types, union types, indexed types, and univ...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
Abstract: "Type systems based on intersection types have been studied extensively in recent years, b...
There exists an identifiable programming style based on the widespread use of type information handl...
: Intersection types and bounded quantification are complementary extensions of first-order a static...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We study set-theoretic types: types that include union, intersection, and negation connectives. Set-...
Abstract. This article is the first part of a two articles series about a calculus with higher-order...
Our objective is to understand the notion of type in programming languages, present a model of typed...
International audienceWe define and study the type system, local type inference, and execution model...
Abstract. We develop a system of type assignment with intersection types, union types, indexed types...
AbstractTwo types theories, ATT and ATTT, are introduced. ATT is an impredicative type theory closel...
This article is the second part of a two articles series about a calculus with higher-order polymorp...
Union types are nowadays a common feature in many modern programming languages. This paper investiga...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
We develop a system of type assignment with intersection types, union types, indexed types, and univ...