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 Languages. In 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 Language. In 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.