Share This Author
The Boost Graph Library - User Guide and Reference Manual
This User Guide discusses Graph Construction and Modification Algorithm Visitors, a comparison of GP and OOP and the STL, and implementing Graph Adaptors using BGL Topological Sort with SGB Graphs.
Gradual Typing for Functional Languages
- Jeremy G. Siek
- Computer Science
The static and dynamic semantics of a λ-calculus with optional type annotations are defined and it is proved that this calculus is type safe and that the cost of dynamism is “pay-as-you-go”.
Refined Criteria for Gradual Typing
This paper draws 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, and argues that the gradually guarantee provides important guidance for designers of gradually typed languages.
Gradual Typing for Objects
This paper develops a gradual type system for object-based languages, extending the Ob < : calculus of Abadi and Cardelli, and shows that gradual typing and subtyping are orthogonal and can be combined in a principled fashion.
Blame for all
This work presents 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 Matthews and Ahmed (2008) and Neis, Dreyer, and Rossberg (2009).
Design and evaluation of gradual typing for python
This paper presents Reticulated Python, a system for experimenting with gradual-typed dialects of Python that gives static and dynamic semantics to the type annotations already present in Python 3.
Concepts: linguistic support for generic programming in C++
- Douglas P. Gregor, Jaakko Järvi, Jeremy G. Siek, B. Stroustrup, G. D. Reis, A. Lumsdaine
- Computer ScienceOOPSLA '06
- 16 October 2006
To improve the support for generic programming in C++, concepts are introduced to express the syntactic and semantic behavior of types and to constrain the type parameters in a C++ template to make templates easier to use and easier to compile.
A comparative study of language support for generic programming
- Ronald Garcia, Jaakko Järvi, A. Lumsdaine, Jeremy G. Siek, Jeremiah Willcock
- Computer ScienceOOPSLA '03
- 26 November 2003
A comprehensive comparison of generics in six programming languages is reported on, identifying eight language features necessary to provide powerful generics and that their absence causes serious difficulties for programmers.
Monotonic References for Efficient Gradual Typing
- Jeremy G. Siek, Michael M. Vitousek, M. Cimini, Sam Tobin-Hochstadt, Ronald Garcia
- Computer ScienceESOP
- 11 April 2015
A new semantics called monotonic references is presented which imposes none of the run-time overhead of dynamic typing in statically typed regions and a mechanized proof of type safety is presented.
The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra
This work presents a unified approach for building high-performance numerical linear algebra routines for large classes of dense and sparse matrices using template metaprograms to directly express performance-critical, architecture-dependent, sections of code.