Type inference with constrained types
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Regular expression types for XML
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
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
Static Analysis of XML Transformations in Java
IEEE Transactions on Software Engineering
Parametric polymorphism for XML
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic regular tree types and patterns
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ocsigen: typing web interaction with objective Caml
Proceedings of the 2006 workshop on ML
Inferring Static Non-monotone Size-aware Types Through Testing
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types
Journal of the ACM (JACM)
FLUX: functional updates for XML
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
O'browser: objective caml on browsers
Proceedings of the 2008 ACM SIGPLAN workshop on ML
XHaskell --- Adding Regular Expression Types to Haskell
Implementation and Application of Functional Languages
Parametric polymorphism for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience report: ocsigen, a web programming framework
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Regular expression subtyping for XML query and update languages
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Set-theoretic foundation of parametric polymorphism and subtyping
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Polymorphic functions with set-theoretic types: part 1: syntax, semantics, and evaluation
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
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.