Affiliation:
1. The University of Tokyo, Tokyo, Japan
2. LexiFi - France
3. PPS (CNRS) - Université Denis Diderot, Paris, France
Abstract
Despite the extensiveness of recent investigations on static typing for XML, parametric polymorphism has rarely been treated. This well-established typing discipline can also be useful in XML processing in particular for programs involving “parametric schemas,” that is, schemas parameterized over other schemas (e.g., SOAP). The difficulty in treating polymorphism for XML lies in how to extend the “semantic” approach used in the mainstream (monomorphic) XML type systems. A naive extension would be “semantic” quantification over all substitutions for type variables. However, this approach reduces to an NEXPTIME-complete problem for which no practical algorithm is known and induces a subtyping relation that may not always match the programmer's intuition. In this article, we propose a different method that smoothly extends the semantic approach yet is algorithmically easier. The key idea here is to devise a novel and simple
marking
technique, where we interpret a polymorphic type as a set of values with annotations of which subparts are parameterized. We exploit this interpretation in every ingredient of our polymorphic type system such as subtyping, inference of type arguments, etc. As a result, we achieve a sensible system that directly represents a usual expected behavior of polymorphic type systems—“values of abstract types are never reconstructed”—in a reminiscence of Reynold's parametricity theory. Also, we obtain a set of practical algorithms for typechecking by local modifications to existing ones for a monomorphic system.
Funder
Seventh Framework Programme
Publisher
Association for Computing Machinery (ACM)
Reference53 articles.
1. Decidability of Systems of Set Constraints with Negative Constraints
2. XML with data values
3. Altheim M. and McCarron S. 2001. XHTML 1.1 — Module-based XHTML. http://www.w3.org/TR/2001/REC-xhtml11-20010531/. Altheim M. and McCarron S. 2001. XHTML 1.1 — Module-based XHTML. http://www.w3.org/TR/2001/REC-xhtml11-20010531/.
4. Standard ML of New Jersey
5. Ausbrooks R. Buswell S. Dalmas S. Devitt S. Diaz A. Hunter R. Smith B. Soiffer N. Sutor R. and Watt S. 2003. Mathematical Markup Language (MathML) Version 2.0 (Second Edition). http://www.w3.org/Math/. Ausbrooks R. Buswell S. Dalmas S. Devitt S. Diaz A. Hunter R. Smith B. Soiffer N. Sutor R. and Watt S. 2003. Mathematical Markup Language (MathML) Version 2.0 (Second Edition). http://www.w3.org/Math/.
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献