Parametric polymorphism and semantic subtyping

Nils Gesbert, Pierre Genevès, Nabil Layaïda
2011 Proceeding of the 16th ACM SIGPLAN international conference on Functional programming - ICFP '11  
We consider a type algebra equipped with recursive, product, function, intersection, union, and complement types together with type variables and implicit universal quantification over them. We consider the subtyping relation recently defined by Castagna and Xu 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
more » ... rk. 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.
doi:10.1145/2034773.2034789 dblp:conf/icfp/GesbertGL11 fatcat:yoc2ewbxyvez7brjci67ppzqgy