AbstractType systems built directly into the compiler or interpreter of a programming language cannot be easily extended to keep track of run-time invariants of new abstractions. Yet, programming with domain-specific abstractions could benefit from additional static checking. This paper presents library techniques for extending the type system of C++ to support domain-specific abstractions. The main contribution is a programmable “subtype” relation. As a demonstration of the techniques, we implement a type system for defining type qualifiers in C++, as well as a type system for the XML processing language, capable of, e.g., statically guaranteeing that a program only produces valid XML documents according to a given XML schema
When an XML document conforms to a given type (e.g. a DTD or an XML Schema type) it is called a vali...
Generic programming has emerged as an important technique for the development of highly reusable and...
Abstract. XML transformations are very sensitive to types: XML types describe the tags and attribute...
AbstractType systems built directly into the compiler or interpreter of a programming language canno...
When constructing programs to process XML documents, we immediately face the question as to how XML...
In this paper, we investigate the issues that arise when binding statically typed languages to XML d...
We survey work on statically type checking XML transformations, covering a wide range of notations a...
Various aspects regarding the bridging of XML and typed languages are discussed. XML bindings improv...
Abstract. We present the functional language ¡ Duce, discuss some design issues, and show its adequa...
Values of existing typed programming languages are increasingly generated and manipulated outside th...
We present the functional language CDuce, discuss some design issues, and show its adequacy for work...
Class-based object-oriented programming is firmly established as the mainstream technology for appli...
In this paper, we demonstrate a natural mapping from element types of XML to module expressions of M...
XACT is an extension of Java for making type-safe XML transformations. Unlike other approaches, XACT...
Values of existing typed programming languages are increas- ingly generated and manipulated outside ...
When an XML document conforms to a given type (e.g. a DTD or an XML Schema type) it is called a vali...
Generic programming has emerged as an important technique for the development of highly reusable and...
Abstract. XML transformations are very sensitive to types: XML types describe the tags and attribute...
AbstractType systems built directly into the compiler or interpreter of a programming language canno...
When constructing programs to process XML documents, we immediately face the question as to how XML...
In this paper, we investigate the issues that arise when binding statically typed languages to XML d...
We survey work on statically type checking XML transformations, covering a wide range of notations a...
Various aspects regarding the bridging of XML and typed languages are discussed. XML bindings improv...
Abstract. We present the functional language ¡ Duce, discuss some design issues, and show its adequa...
Values of existing typed programming languages are increasingly generated and manipulated outside th...
We present the functional language CDuce, discuss some design issues, and show its adequacy for work...
Class-based object-oriented programming is firmly established as the mainstream technology for appli...
In this paper, we demonstrate a natural mapping from element types of XML to module expressions of M...
XACT is an extension of Java for making type-safe XML transformations. Unlike other approaches, XACT...
Values of existing typed programming languages are increas- ingly generated and manipulated outside ...
When an XML document conforms to a given type (e.g. a DTD or an XML Schema type) it is called a vali...
Generic programming has emerged as an important technique for the development of highly reusable and...
Abstract. XML transformations are very sensitive to types: XML types describe the tags and attribute...