International audienceWe revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic types—union types, in particular—it never fully exploited the capabilities of these types. Here weshow how, by using set-theoretic types, it is possible to develop a general typing framework that encompasses andgeneralizes several aspects of current occurrence typing proposals and that can be applied to tackle other problemssuch as the reconstruction of intersection types for unannotated or partially annotated functions and the optimizationof the compilation of gradually typed langua...
We develop a system of type assignment with intersection types, union types, indexed types, and univ...
International audienceWe present a type system that combines, in a controlled way, first-order polym...
Type inference is a key component of modern statically typed programming languages. It allows progra...
International audienceWe revisit occurrence typing, a technique to refine the type of variables occu...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
The operation of expansion on typings was introduced at the end of the 1970s by Coppo, Dezani, and V...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
International audienceWe extend classic union and intersection type systems with a type-case constru...
The operation of expansion on typings was introduced at the end of the 1970s by Coppo, Dezani, and ...
AbstractTwo types theories, ATT and ATTT, are introduced. ATT is an impredicative type theory closel...
There exists an identifiable programming style based on the widespread use of type information handl...
The concept of "type" has been used without a consistent, precise definition in discussions about pr...
Abstract. We develop a system of type assignment with intersection types, union types, indexed types...
. An algorithm to decide the emptiness of a regular type expression with set operators given a set o...
Run-time type dispatch enables a variety of advanced optimization techniques for polymorphic languag...
We develop a system of type assignment with intersection types, union types, indexed types, and univ...
International audienceWe present a type system that combines, in a controlled way, first-order polym...
Type inference is a key component of modern statically typed programming languages. It allows progra...
International audienceWe revisit occurrence typing, a technique to refine the type of variables occu...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
The operation of expansion on typings was introduced at the end of the 1970s by Coppo, Dezani, and V...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
International audienceWe extend classic union and intersection type systems with a type-case constru...
The operation of expansion on typings was introduced at the end of the 1970s by Coppo, Dezani, and ...
AbstractTwo types theories, ATT and ATTT, are introduced. ATT is an impredicative type theory closel...
There exists an identifiable programming style based on the widespread use of type information handl...
The concept of "type" has been used without a consistent, precise definition in discussions about pr...
Abstract. We develop a system of type assignment with intersection types, union types, indexed types...
. An algorithm to decide the emptiness of a regular type expression with set operators given a set o...
Run-time type dispatch enables a variety of advanced optimization techniques for polymorphic languag...
We develop a system of type assignment with intersection types, union types, indexed types, and univ...
International audienceWe present a type system that combines, in a controlled way, first-order polym...
Type inference is a key component of modern statically typed programming languages. It allows progra...