Flux: FunctionaL Updates for XML (extended report)
James Cheney

TL;DR
This paper introduces an improved, sound type system and path-error analysis for the Flux XML update language, addressing previous limitations related to recursion, error propagation, and dead code detection.
Contribution
It extends Flux with recursive types, formalizes a source language, and develops a path-error analysis to improve error detection and language robustness.
Findings
Type system now supports recursion.
Path-error analysis detects dead subexpressions.
Translation preserves and reflects typability.
Abstract
XML database query languages have been studied extensively, but XML database updates have received relatively little attention, and pose many challenges to language design. We are developing an XML update language called Flux, which stands for FunctionaL Updates for XML, drawing upon ideas from functional programming languages. In prior work, we have introduced a core language for Flux with a clear operational semantics and a sound, decidable static type system based on regular expression types. Our initial proposal had several limitations. First, it lacked support for recursive types or update procedures. Second, although a high-level source language can easily be translated to the core language, it is difficult to propagate meaningful type errors from the core language back to the source. Third, certain updates are well-formed yet contain path errors, or ``dead'' subexpressions…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Logic, programming, and type systems · Semantic Web and Ontologies
