Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/944705.944711acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

CDuce: an XML-centric general-purpose language

Published: 25 August 2003 Publication History

Abstract

We present the functional language CDuce, discuss some design issues, and show its adequacy for working with XML documents. Distinctive features of CDuce are a powerful pattern matching, first class functions, overloaded functions, a very rich type system (arrows, sequences, pairs, records, intersections, unions, differences), precise type inference for patterns and error localization, and a natural interpretation of types as sets of values. We also outline some important implementation issues; in particular, a dispatch algorithm that demonstrates how static type information can be used to obtain very efficient compilation schemas..

References

[1]
M. Abadi, L. Cardelli, B. Pierce, and G. Plotkin. Dynamic typing in a statically typed language. ACM TOPLAS, 13(2):237--268, April 1991.]]
[2]
Bell-labs. Galax. http://db.bell-labs.com/galax/.]]
[3]
S. Boag, D. Chamberlin, M. Fernandez, D. Florescu, J. Robie, J. Siméon, and M. Stefanescu. XQuery 1.0: An XML Query Language. W3C Working Draft, http://www.w3.org/TR/xquery/, 2003.]]
[4]
J. Boyland and G. Castagna. Parasitic methods: Implementation of multi-methods for Java. In OOPSLA '97, 32(10), pages 66--76, 1997.]]
[5]
A. Christensen, A. Møller, and M. Schwartzbach. Extending Java for high-level web service construction. ACM TOPLAS, 2003. To appear.]]
[6]
J. Clark and S. DeRose. XML Path Language (XPath). W3C Recommendation, http://www.w3.org/TR/xpath/, 1999.]]
[7]
Mary Fernández, Jérôme Siméon, and Philip Wadler. An algebra for XML query. In FST&TCS, LNCS n. 1974, pages 11--45, 2000.]]
[8]
A. Frisch, G. Castagna, and V. Benzaken. Semantic Subtyping. In 17th IEEE Symp. on Logic in Computer Science, pages 137--146, 2002.]]
[9]
V. Gapayev and B.C. Pierce. Regular object types. In Proceedings of the 10th workshop FOOL, 2003.]]
[10]
H. Hosoya. Regular expressions pattern matching: a simpler design. Unpublished manuscript, February 2003.]]
[11]
H. Hosoya and B. Pierce. XDuce: A typed XML processing language. ACM TOIT, 2003. To appear. http://xduce.sourceforge.net/.]]
[12]
Haruo Hosoya. Regular Expression Types for XML. PhD thesis, The University of Tokyo, 2001.]]
[13]
Haruo Hosoya and Makoto Murata. Validation and boolean operations for attribute-element constraints. In PLAN-X, 2002.]]
[14]
H. Hosoya, J. Vouillon, and B. Pierce. Regular expression types for XML. In Proc. of ICFP '00, SIGPLAN Notices 35(9), 2000.]]
[15]
Michael Y. Levin. Matching automata for regular patterns. Tech. rep., 2003. http://www.cis.upenn.edu/~bcpierce/xtatic/.]]
[16]
M. Odersky and P. Wadler. Pizza into Java: Translating theory into practice. In Proc. of 24th ACM POPL, 1997.]]
[17]
J. Siméon and P. Wadler. The essence of XML. In Proc. of 30th ACM POPL, 2003.]]

Cited By

View all
  • (2024)Efficient Matching of Regular Expressions with Lookaround AssertionsProceedings of the ACM on Programming Languages10.1145/36329348:POPL(2761-2791)Online publication date: 5-Jan-2024
  • (2024)A Core Calculus for Documents: Or, Lambda: The Ultimate DocumentProceedings of the ACM on Programming Languages10.1145/36328658:POPL(667-694)Online publication date: 5-Jan-2024
  • (2024)The Hrewrite Library: A Term Rewriting Engine for Automatic Code AssemblyRewriting Logic and Its Applications10.1007/978-3-031-65941-6_9(165-178)Online publication date: 6-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
August 2003
310 pages
ISBN:1581137567
DOI:10.1145/944705
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 9
    September 2003
    289 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/944746
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 August 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CDuce
  2. XML
  3. XML-processing
  4. type systems

Qualifiers

  • Article

Conference

ICFP03
Sponsor:

Acceptance Rates

ICFP '03 Paper Acceptance Rate 24 of 95 submissions, 25%;
Overall Acceptance Rate 333 of 1,064 submissions, 31%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Efficient Matching of Regular Expressions with Lookaround AssertionsProceedings of the ACM on Programming Languages10.1145/36329348:POPL(2761-2791)Online publication date: 5-Jan-2024
  • (2024)A Core Calculus for Documents: Or, Lambda: The Ultimate DocumentProceedings of the ACM on Programming Languages10.1145/36328658:POPL(667-694)Online publication date: 5-Jan-2024
  • (2024)The Hrewrite Library: A Term Rewriting Engine for Automatic Code AssemblyRewriting Logic and Its Applications10.1007/978-3-031-65941-6_9(165-178)Online publication date: 6-Apr-2024
  • (2022)Set-theoretic Types for ErlangProceedings of the 34th Symposium on Implementation and Application of Functional Languages10.1145/3587216.3587220(1-14)Online publication date: 31-Aug-2022
  • (2021)Gradually structured dataProceedings of the ACM on Programming Languages10.1145/34855035:OOPSLA(1-29)Online publication date: 15-Oct-2021
  • (2021)Static analysis of pattern-free propertiesProceedings of the 23rd International Symposium on Principles and Practice of Declarative Programming10.1145/3479394.3479404(1-13)Online publication date: 6-Sep-2021
  • (2021)Distributing intersection and union types with splits and duality (functional pearl)Proceedings of the ACM on Programming Languages10.1145/34735945:ICFP(1-24)Online publication date: 19-Aug-2021
  • (2021)Finding data compatibility bugs with JSON subschema checkingProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464796(620-632)Online publication date: 11-Jul-2021
  • (2020)Inferring and applying def-use like configuration couplings in deployment descriptorsProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416577(672-683)Online publication date: 21-Dec-2020
  • (2020)Backward type inference for XML queriesTheoretical Computer Science10.1016/j.tcs.2020.03.020Online publication date: Mar-2020
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media