OCaml + XDuce
- 16 September 2006
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 41 (9), 192-200
- https://doi.org/10.1145/1160074.1159829
Abstract
This paper presents the core type system and type inference algorithm of OCamlDuce, a merger between OCaml and XDuce. The challenge was to combine two type checkers of very different natures while preserving the best properties of both (principality and automatic type reconstruction on one side; very precise types and implicit subtyping on the other side). Type inference can be described by two successive passes: the first one is an ML-like unification-based algorithm which also extracts data flow constraints about XML values; the second one is an XDuce-like algorithm which computes XML types in a direct way. An optional preprocessing pass, called strengthening, can be added to allow more implicit use of XML subtyping. This pass is also very similar to an ML type checker.Keywords
This publication has 11 references indexed in Scilit:
- Parametric polymorphism for XMLPublished by Association for Computing Machinery (ACM) ,2005
- Static analysis of XML transformations in javaIEEE Transactions on Software Engineering, 2004
- Regular expression pattern matching for XMLJournal of Functional Programming, 2003
- CDucePublished by Association for Computing Machinery (ACM) ,2003
- Boolean Operations for Attribute-Element ConstraintsLecture Notes in Computer Science, 2003
- XDuceACM Transactions on Internet Technology, 2003
- Regular Object TypesLecture Notes in Computer Science, 2003
- Regular expression types for XMLACM SIGPLAN Notices, 2000
- Type inference with constrained typesTheory and Practice of Object Systems, 1999
- A theory of type polymorphism in programmingJournal of Computer and System Sciences, 1978