Principles of programming with complex objects and collection types
ICDT '92 Selected papers of the fourth international conference on Database theory
Science of Computer Programming - Special issue on mathematics of program construction
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
XDuce: A statically typed XML processing language
ACM Transactions on Internet Technology (TOIT)
Specifying Updates in Biomedical Databases
SSDBM '99 Proceedings of the 11th International Conference on Scientific and Statistical Database Management
CDuce: an XML-centric general-purpose language
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Efficient Incremental Validation of XML Documents
ICDE '04 Proceedings of the 20th International Conference on Data Engineering
DTDs versus XML schema: a practical study
Proceedings of the 7th International Workshop on the Web and Databases: colocated with ACM SIGMOD/PODS 2004
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Incremental validation of XML documents
ACM Transactions on Database Systems (TODS)
Regular expression types for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Static analysis for path correctness of XML queries
Journal of Functional Programming
Local Hoare reasoning about DOM
Proceedings of the twenty-seventh ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A better semantics for XQuery with side-effects
DBPL'07 Proceedings of the 11th international conference on Database programming languages
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
Commutativity analysis in XML update languages
ICDT'07 Proceedings of the 11th international conference on Database Theory
The design space of type checkers for XML transformation languages
ICDT'05 Proceedings of the 10th international conference on Database Theory
Verification of tree updates for optimization
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
XQuery!: an XML query language with side effects
EDBT'06 Proceedings of the 2006 international conference on Current Trends in Database Technology
Semantics, Types and Effects for XML Updates
DBPL '09 Proceedings of the 12th International Symposium on Database Programming Languages
Schema-based independence analysis for XML updates
Proceedings of the VLDB Endowment
DynXML: safely programming the dynamic web
APLWACA '10 Proceedings of the 2010 Workshop on Analysis and Programming Languages for Web Applications and Cloud Applications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
A schema-based translation of XQuery updates
XSym'10 Proceedings of the 7th international XML database conference on Database and XML technologies
Precision and complexity of XQuery type inference
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Types and constraints: from relational to XML data
SDKB'10 Proceedings of the 4th international conference on Semantics in data and knowledge bases
An integrated distance for atoms
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Type-based detection of XML query-update independence
Proceedings of the VLDB Endowment
Hi-index | 0.00 |
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 wellformed yet contain path errors, or "dead" subexpressions which never do any useful work. It would be useful to detect path errors, since they often represent errors or optimization opportunities. In this paper, we address all three limitations. Specifically, we present an improved, sound type system that handles recursion. We also formalize a source update language and give a translation to the core language that preserves and reflects typability. We also develop a path-error analysis (a form of dead-code analysis) for updates.