Polymorphism and XDuce-style patterns

Polymorphism and XDuce-style patterns,Jerome Vouillon

Polymorphism and XDuce-style patterns   (Citations: 1)
BibTex | RIS | RefWorks Download
We present an extension of XDuce, a programming language ded- icated to the processing of XML documents, with polymorphism and abstract types, two crucial features for programming in the large. We show that this extension makes it possible to deal with first class functions and eases the interoperability with ot her lan- guages. A key mechanism of XDuce is its powerful pattern match- ing construction and we mainly focus on this construction and its interaction with abstract types. Additionally, we present a novel type inference algorithm for XDuce patterns, which works directly on the syntax of patterns. XDuce (14) is a programming language dedicated to the processing of XML documents. It features a very powerful type system: types are regular tree expressions (15) which correspond closely to the schema languages used to specify the structure of XML documents. The subtyping relation is extremely flexible as it correspon ds to the inclusion of tree automata. Another key feature is a pattern match- ing construction which extends the algebraic patterns popularized by functional languages by using regular tree expressions as pat- terns (13). In this paper, we aim at extending in a seamless way the XDuce type system and pattern construction with ML-style prenex poly- morphism and abstract types. These are indeed crucial features for programming in the large in a strongly typed programming lan- guage. In our extension, patterns are not allowed to break abstrac- tion. This crucial property makes it possible to embed first c lass functions and foreign values in a natural way into XDuce values. In another paper (21), we present a whole calculus dealing with polymorphism for regular tree types. Though most of the results in that paper (in particular, the results related to subtypi ng) can be fairly easily adapted for an extension of XDuce, a better treatment of patterns is necessary. Indeed, a straightforward applic ation of the results would impose severe restrictions on patterns. For i nstance, binders and wildcards would be required to occur only in tail position. The present paper is therefore mostly focused on patterns and overcomes these limitations.
Published in 2006.
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
    • ...This of course makes the writing of programs more demanding, and clutters the application of polymorphic functions with type annotations (see [Vouillon 2006b] for a programming language oriented presentation of Vouillon’s system)...

    Haruo Hosoyaet al. Parametric polymorphism for XML

Sort by: