Generic Programming and Software Libraries
Dagstuhl Workshop on Software Libraries
In March 2005, I attended a Dagstuhl workshop on software libraries. The participants were a unique cross section of software library and programming language researchers that included David Musser, Bjarne Stroustrup, Todd Veldhuizen, and Jeremy Siek (just to drop a few names :) ). The goal of the workshop was to devise a research agenda for studying software libraries. The immediate result is the Library-Centric Software Design workshop. At the original workshop, I was the sole representative with extensive industry experience and presented an overview of software libraries from this perspective.Java Generic Programming
This project demonstrates retroactive modeling in Java. Given an interface (representing a generic concept) and a class, a runtime type-check ensures the class conforms to the interface (i.e., "models the concept" in generic parlance) and generates a proxy class that can be used with generic functions that take objects that implement the interface. The object only needs to nominally conform to the interface (i.e., have the same methods) and does not need to explicitly implement it (i.e. object implements interface). Note that this is not related to Java Generics, but rather shows how to implement STL-like generic programming in Java.
- Generic Java Paper
- Generic Java Presentation
- Generic Java Source Code (tar)