[TYPES] Three Xtatic technical reports

Benjamin Pierce bcpierce at dsl-207-245-69-66.cust.oldcity.dca.net
Thu Nov 11 22:46:57 EST 2004

We are pleased to announce the availability of three new technical reports
on the Xtatic programming language.  All three reports, as well as earlier
papers and talks on the language design and implementation, are available


Titles and abstracts follow.

Share and enjoy,

    - Benjamin Pierce


  The Xtatic Experience
  by Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pierce, and Alan Schmitt

  ABSTRACT: Xtatic is a lightweight extension of C# with native support for
  statically typed XML processing.  It features XML trees as built-in
  values, a refined type system based on regular types in the style of
  XDuce, and "tree grep"-style regular patterns for traversing and
  manipulating XML.

  Previous papers on Xtatic have reported results on a number of specific
  technical issues: basic theoretical properties of an idealized core
  language, novel compilation algorithms for regular pattern matching, and
  efficient runtime support for XML processing in the style encouraged by
  Xtatic.  The aim of the present paper is to discuss Xtatic---less formally
  and more holistically---from the perspective of language design.  We
  survey the most significant issues we faced in the design process and
  evaluate the choices we have made in addressing them.


  XML Goes Native: Run-time Representations for Xtatic
  by Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pierce, and Alan Schmitt

  ABSTRACT: Xtatic} is a lightweight extension of C# offering native support
  for statically typed XML processing.  XML trees are built-in values in
  Xtatic, and static analysis of the trees manipulated by programs is part
  of the ordinary job of the typechecker.  ``Tree grep'' pattern matching is
  used to investigate and transform XML trees.

  Xtatic's surface syntax and type system are tightly integrated with those
  of C#.  Beneath the hood, however, an implementation of Xtatic must
  address a number of issues common to any language supporting a declarative
  style of XML processing (e.g., XQuery, XSLT, XDuce, CDuce, Xact, Xen,
  etc.).  In particular, it must provide representations for XML tags,
  trees, and textual data that use memory efficiently, support efficient
  pattern matching, allow maximal sharing of common substructures, and
  permit separate compilation.  We analyze these representation choices in
  detail and describe the solutions used by the Xtatic compiler.


  Paths Into Patterns
  by Vladimir Gapeyev and Benjamin C. Pierce

  ABSTRACT: The XML Path Language XPath is an industry standard notation for
  addressing parts of an XML document.  It is supported by many XML
  processing libraries and has been used as the foundation for several
  dedicated XML processing languages.  Regular patterns, an alternative way
  of investigating and destructing XML documents, were first proposed in the
  XDuce language and feature in a number of its descendants.

  The processing styles offered by XPath and by regular patterns are each
  quite convenient for certain sorts of tasks, and the designer of a future
  XML processing language might well like to provide both.  This designer
  might wonder, however, to what extent these mechanisms can be based on a
  common foundation.  Can one be implemented by translating it into the other?
  Can aspects of both be combined into a single notation?  

  As a first step toward addressing these questions, we show in this paper
  that a language closely related to the ``downward axis'' fragment of XPath
  can be accurately translated into ambiguous XDuce-style regular patterns
  with a ``collect all matches'' interpretation.

More information about the Types-list mailing list