Subtyping with Union Types, Intersection Types and Recursive Types II
نویسنده
چکیده
This paper is a follow-up on previous work by the author on subtyping with (set-theoretic) union, intersection and recursive types. Previously, it was shown how types may be encoded as regular tree expressions/set constraints. This gave rise to a sound and complete decision procedure for type inclusion. The result was, however, limited to a rather speciic type language. In the work reported on here, we generalize the result and develop a general technique for deriving subtyping algorithms for type languages with union, intersection and recursive types. We present separate requirements for obtaining a subtyping algorithm which is respectively sound and complete. In this way we obtain a generic strategy for implementing the subtype relation for a broad class of very expressive type languages. L'inclusion pour les types avec union, intersection et r ecursion R esum e : Cet article poursuit les recherches de l'auteur sur l'inclusion de types avec union (ensembliste), intersection et r ecursion. Il a et e montr e aupararant comment les types pouvaient ^ etre repr esent es par des expressions d'arbres r eguli eres (contraintes d'ensembles). Ceci a donn e lieu a une proc edure de d ecision correcte et compl ete pour l'inclusion de types. Cependant, le r esultat etait restreint a un langage de type assez sp eciique. Dans le travail pr esent e ici, nous g en eralisons le r esultat et d eveloppons une technique g en erale pour d eriver des algorithmes d'inclusion de types pour des langages de types avec union, intersection et r ecursion. Nous pr esentons une liste de conditions requises pour obtenir un algorithme d'inclusion de types correct et complet. De cette mani ere, nous obtenons une strat egie g en erique pour impl ementer la relation d'inclusion de types pour une classe etendue de langages de types tr es expressifs.
منابع مشابه
Subtyping with Union Types, Intersection Types and Recursive Types
This paper is a follow-up on previous work by the author on sub-typing with (set-theoretic) union, intersection and recursive types. Previously, it was shown how types may be encoded as regular tree expressions/set constraints. This gave rise to a sound and complete decision procedure for type inclusion. The result was, however, limited to a rather speciic type language. In the work reported on...
متن کاملEncoding CDuce in the Cπ-calculus?
CDuce is a functional programming language featuring overloaded functions and a rich type system with recursive types, subtyping, union, negation and intersection types. The boolean constructors have a set-theoretic behaviour defined via a semantic interpretation of the types. The Cπ-calculus is an extension of the π-calculus that enriches Pierce and Sangiorgi π-calculus subtyping with union, i...
متن کاملOptimal Representations of Polymorphic
Many type inference and program analysis systems include notions of subtyping and parametric polymorphism. When used together, these two features induce equivalences that allow types to be simpliied by eliminating quantiied variables. Eliminating variables both improves the readability of types and the performance of algorithms whose complexity depends on the number of type variables. We presen...
متن کاملIntersections and Unions of Session Types
Prior work has extended the deep, logical connection between the linear sequent calculus and sessiontyped message-passing concurrent computation with equi-recursive types and a natural notion of subtyping. In this paper, we extend this further by intersection and union types in order to express multiple behavioral properties of processes in a single type. We prove session fidelity and absence o...
متن کاملSemantic Subtyping: Challenges, Perspectives, and Open Problems
Semantic subtyping is a relatively new approach to define subtyping relations where types are interpreted as sets and union, intersection and negation types have the corresponding set-theoretic interpretation. In this lecture we outline the approach, give an aperçu of its expressiveness and generality by applying it to the λ-calculus with recursive and product types and to the π-calculus. We th...
متن کامل