The annotated C++ reference manual
The annotated C++ reference manual
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
An extension of system F with subtyping
Information and Computation - Special conference issue: international conference on theoretical aspects of computer software
Decidability of systems of set constraints with negative constraints
Information and Computation
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Haskell and XML: generic combinators or type-based translation?
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Typechecking for XML transformers
PODS '00 Proceedings of the nineteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Regular expression types for XML
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extended path expressions of XML
PODS '01 Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
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 pattern matching for XML
Journal of Functional Programming
Boolean operations for attribute-element constraints
CIAA'03 Proceedings of the 8th international conference on Implementation and application of automata
XML schema containment checking based on semi-implicit techniques
CIAA'03 Proceedings of the 8th international conference on Implementation and application of automata
A gentle introduction to semantic subtyping
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Polymorphic regular tree types and patterns
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Reflective program generation with patterns
Proceedings of the 5th international conference on Generative programming and component engineering
Regular expression filters for XML
Journal of Functional Programming
Semantic subtyping for the pi-calculus
Theoretical Computer Science
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types
Journal of the ACM (JACM)
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
XHaskell --- Adding Regular Expression Types to Haskell
Implementation and Application of Functional Languages
Whiteoak: introducing structural typing into java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Proceedings of the 2009 ACM symposium on Applied Computing
Parametric polymorphism for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Type-Safe Embedding of XDuce into ML
Electronic Notes in Theoretical Computer Science (ENTCS)
Regular expression containment: coinductive axiomatization and computational interpretation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Exact XML type checking in polynomial time
ICDT'07 Proceedings of the 11th international conference on Database Theory
Semantic subtyping: challenges, perspectives, and open problems
ICTCS'05 Proceedings of the 9th Italian conference on Theoretical Computer Science
Patterns and types for querying XML documents
DBPL'05 Proceedings of the 10th international conference on Database Programming Languages
Verification theories for XML schema
BNCOD'06 Proceedings of the 23rd British National Conference on Databases, conference on Flexible and Efficient Information Handling
Eliminating the XML overhead in embedded XML languages
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
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," i.e., 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. In this paper, we propose a different method that smoothly extends the semantic approach yet is algorithmically easier. In this, we 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, and so on. As a result, we achieve a sensible system that directly represents a usual expected behavior of polymorphic type systems---"values of variable 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.