Affiliation:
1. Grenoble INP -- Ensimag
2. CNRS
3. Inria
Abstract
We consider a type algebra equipped with recursive, product, function, intersection, union, and complement types, together with type variables. We consider the subtyping relation defined by Castagna and Xu [2011] over such type expressions and show how this relation can be decided in EXPTIME, answering an open question. The novelty, originality and strength of our solution reside in introducing a logical modeling for the semantic subtyping framework. We model semantic subtyping in a tree logic and use a satisfiability-testing algorithm in order to decide subtyping. We report on practical experiments made with a full implementation of the system. This provides a powerful polymorphic type system aiming at maintaining full static type-safety of functional programs that manipulate trees, even with higher-order functions, which is particularly useful in the context of XML.
Funder
Agence Nationale de la Recherche
Publisher
Association for Computing Machinery (ACM)
Reference26 articles.
1. Destabilizers and independence of XML updates
2. CDuce
3. Semantic subtyping with an SMT solver
4. Scott Boag Don Chamberlin Mary F. Fernández Daniela Florescu Jonathan Robie and Jérôme Siméon. 2007. XQuery 1.0: An XML Query Language W3C Recommendation. Scott Boag Don Chamberlin Mary F. Fernández Daniela Florescu Jonathan Robie and Jérôme Siméon. 2007. XQuery 1.0: An XML Query Language W3C Recommendation.
5. Graph-Based Algorithms for Boolean Function Manipulation
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Polymorphic Type Inference for Dynamic Languages;Proceedings of the ACM on Programming Languages;2024-01-05
2. Programming with Union, Intersection, and Negation Types;The French School of Programming;2023-10-11
3. Gradual typing: a new perspective;Proceedings of the ACM on Programming Languages;2019-01-02
4. Empowering union and intersection types with integrated subtyping;Proceedings of the ACM on Programming Languages;2018-10-24