I am an out-of-the-box thinker who enjoys the challenge of building a computer software system that works like magic and fits a user's mind like a glove. My experience lies in the design and construction of virtual machines for object-oriented languages, the design of dynamic object-oriented languages, object-oriented programming, the design of programming environments, and prototype-based languages.
My inventions have contributed materially to the field of object-oriented language, virtual machines, programming environments, and user interfaces. Three of my papers have been honored by the Association for Computing Machinery for lasting impact over ten to twenty-four years. I received the 2009 Dahl-Nygaard award for outstanding career contributions in the field of object-orientation.
- High-performance virtual machine for a pure, dynamic, prototype-based object-oriented language.
- Systematic use of cartoon animation in user interfaces.
- Dynamic feedback-mediated optimization for object-oriented languages.
- Mirror-based reflection architecture.
- Virtual machine support for pure, source-level debugging of dynamically optimized code.
- Fix-and-continue facility for developing object-oriented virtual machines.
- SPARC version of HotSpot Java Virtual Machine.
- System to save fine-grained prototype-based programs.
- Complete programming environment based on prototypes.
- Multiprocessor object-oriented virtual machine (Multiprocessor Smalltalk, 1988).
- Architectural analysis and runtime implementation of Smalltalk on a RISC.
- Analysis and implementation of simple, two-generation automatic storage reclamation.