Selected Publications

Gilad Bracha.  Pluggable Type Systems . OOPSLA04 Workshop on Revival of Dynamic  Languages. 

Gilad Bracha and David Ungar. Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming LanguagesIn  Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, October 2004.

A (belated) discussion of mirror based reflective APIs.  It hasn't been properly discussed in the literature, and people keep making the same mistakes over and over ...

Mads Torgersen, Christian Plesner Hansen, Erik Ernst, Peter von der Ahé, Gilad Bracha and Neal Gafter. Adding Wildcards to the Java Programming LanguageIn Journal of Object Technology, vol. 3, no. 11, December 2004, Special issue: OOPS track at SAC 2004, Nicosia/Cyprus, pp. 97–116.

A description of the wildcard extensions to genericity.

Lars Bak, Gilad Bracha, Steffen Grarup, Robert Griesemer, David Griswold and Urs Hoelzle. Mixins in Strongtalk. ECOOP02  Workshop on Inheritance. 

An invited paper for the workshop. It  discusses the design of the mixin system in Animorphic Smalltalk (aka Strongtalk).  It's the only high performance implementation of mixins I'm aware of.  It should probably be published somewhere "official", but who has the time ...

Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler. Making the future safe for the past: Adding Genericity to the Java Programming Language . In  Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, October 1998.

The GJ paper, that described the approach eventually taken to incorporate genericity into the JavaTM programming language.  While some details have changed (and some statements in the paper were actually wrong), this is still mostly accurate.

Sheng Liang and Gilad Bracha Dynamic Class  Loading in the Java Virtual Machine   in  Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, October 1998. 

The only real discussion of class loaders available, I guess. There is a lot more to class loaders; again, I should write something up ....


Gilad Bracha. The Strongtalk Type System for Smalltalk. OOPSLA96 Workshop on Extending the Smalltalk Language. 

A short position paper that discusses the Strongtalk type system. It's more up to date than the OOPSLA paper, and quite close to the version that exists in the release.

Gilad Bracha and David Griswold. Extending Smalltalk with Mixins. OOPSLA96 Workshop on Extending the Smalltalk Language. 

A short position paper that discusses mixins in Strongtalk. Deliberately avoids discussion of the implementation - at the time, Animorphic was still in stealth mode. Largely superceded by the ECOOP workshop paper.
A short position paper that discusses the Strongtalk type system. It's more up to date than the OOPSLA paper, and quite close to the version that exists in the release.

Gilad Bracha and David Griswold. Strongtalk: Typechecking Smalltalk in a Production Environment . In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, September 1993. 

Describes the first version of the Strongtalk type system. A lot of important stuff changed later.

Gilad Bracha and Gary Lindstrom. Modularity Meets Inheritance. In Proceedings of the IEEE International Conference on Computer Languages, April 1992.

Summarizes some of the results from my dissertation. A shorter read than the whole thesis, but not as clear.

Gilad Bracha. The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance . PhD thesis, University of Utah, 1992. 

While this is quite old, it's still highly relevant today if you're interested in work on traits, mixins or advanced module systems.


Gilad Bracha and William Cook. Mixin-based inheritance. In Proc. of the Joint ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications and the European Conference on Object-Oriented Programming, October 1990.

Our original mixin paper, which identified mixins as a linguistic construct as opposed to a Lisp idiom. This paper, and the thesis above, are still a good place to start if you are new to this area.

Java is a trademark of Sun Microsystems.

Last updated December 3rd, 2004.