Kristoffer Høgsbro Rose

Learn More
In this paper we consider rewrite systems that describe the-calculus enriched with recursive and non-recursive local deenitions by generalizing thèexplicit substitutions' used by Abadi, Cardelli, Curien, and L evy 1] to describe sharing in-terms. This leads tòexplicit cyclic substitutions' that can describe the mutual sharing of local recursive deenitions.(More)
We propose integrating field access in general, and dedicated read-only field access in particular, into the Java type system. The principal gain is that " getter " methods can be eliminated such that – fast static lookup can be used instead of dynamic dispatch for field access (without requiring a sophisticated inlining analyses), – the (noticeable) space(More)
We present a simple way to implement typed abstract syntax for the lambda calculus in Haskell, using phantom types, and we specify normal-ization by evaluation (i.e., type-directed partial evaluation) to yield this typed abstract syntax. Proving that normalization by evaluation preserves types and yields normal forms then reduces to type-checking the(More)
We show how the full XPath language can be compiled into a minimal subset suited for stream-based evaluation. Specifically, we show how XPath normalization into a core language as proposed in the current W3C ``Last Call'' draft of the XPath/XQuery Formal Semantics can be extended such that both the context state and reverse axes can be eliminated from the(More)
Formal semantics for XQuery with side-effects have been proposed in [13, 16]. We propose a different semantics which is better suited for database compilation. We substantiate this claim by formalizing the compilation of XQuery extended with updates into a database algebra. We prove the correctness of the proposed compilation by mapping both the source(More)
We present the a w-calculus, a formal synthesis of the concepts of sharing and explicit substitution for weak reduction. We show how a w can be used as a foundation of implementations of functional programming languages by modeling the essential ingredients of such implementations , namely weak reduction strategies, recursion, space leaks, recursive data(More)
An effective approach to support XML updates is to use XQuery extended with update operations. This approach results in very expressive languages which are convenient for users but are difficult to optimize or reason about. A crucial question underlying many static analysis problems for such languages, from optimization to view maintenance, is whether two(More)
A common approach to XML updates is to extend XQuery with update operations. This approach results in very expressive languages which are convenient for users but are difficult to reason about. Deciding whether two expressions can commute has numerous applications from view maintenance to rewriting-based optimizations. Unfortunately, commutativity is(More)
Although the Extensible Markup Language (XML) has gained in popularity and has resulted in the creation of powerful software for authoring, transforming, and querying XML-based business data, much information remains in non-XML form. In this paper we introduce an approach to virtualize data resources and thus enable applications to access both XML and(More)