• Publications
  • Influence
The Boost Graph Library - User Guide and Reference Manual
Foreword. Preface. I User Guide. 1. Introduction. Some Graph Terminology. Graph Concepts. Vertex and Edge Descriptors. Property Maps. Graph Traversa. Graph Construction and Modification AlgorithmExpand
Gradual Typing for Functional Languages
Static and dynamic type systems have well-known strengths and weaknesses, and each is better suited for different programming tasks. There have been many efforts to integrate static and dynamicExpand
Refined Criteria for Gradual Typing
In this paper we draw a crisp line in the sand that includes a new formal property, named the gradual guarantee, that relates the behavior of programs that differ only with respect to their type annotations. Expand
Gradual Typing for Objects
This paper develops $\mathbf{Ob}^{?}_{<:}$, a gradual type system for object-based languages, extending the Ob calculus of Abadi and Cardelli. Expand
Blame for all
We present a system that permits a value of dynamic type to be cast to a polymorphic type and vice versa, with relational parametricity enforced by a kind of dynamic sealing along the lines proposed by Neis, Dreyer, and Rossberg. Expand
Design and evaluation of gradual typing for python
We present Reticulated Python, a system for experimenting with gradual-typed dialects of Python that give static and dynamic semantics to the type annotations already present in Python 3. Expand
Concepts: linguistic support for generic programming in C++
We introduce concepts to express syntactic and semantic behavior of types and to constrain the type parameters in a C++ template. Expand
Concoqtion: indexed types now!
We propose MetaOCaml Concoqtion, a practical approach to adding Fω-style indexed types to full-fledged programming languages. Expand
The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra
We present a unified approach for building high-performance numerical linear algebra routines for large classes of dense and sparse matrices. Expand
An extended comparative study of language support for generic programming
This paper reports on a comprehensive comparison of facilities for generic programming in eight languages: C++, Standard ML, Objective Caml, Haskell, Eiffel, Java, C# (with its proposed generics extension), and Cecil. Expand