FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
XDuce: A statically typed XML processing language
ACM Transactions on Internet Technology (TOIT)
CDuce: an XML-centric general-purpose language
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Regular expression types for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Polymorphic regular tree types and patterns
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient static analysis of XML paths and types
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types
Journal of the ACM (JACM)
Parametric polymorphism for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Semantic subtyping with an SMT solver
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Destabilizers and independence of XML updates
Proceedings of the VLDB Endowment
Set-theoretic foundation of parametric polymorphism and subtyping
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Set-theoretic foundation of parametric polymorphism and subtyping
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A multivalued language with a dependent type system
Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programming
Hi-index | 0.00 |
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 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.