A Self Bibliography


Programming as an Experience: The Inspiration for Self (1995)
Randall B. Smith and David Ungar


Self: The Power of Simplicity (1987)
David Ungar and Randall B. Smith

Parents are Shared Parts: Inheritance and Encapsulation in Self (1991)
Craig Chambers, David Ungar, Bay-Wei Chang, and Urs Hölzle

Organizing Programs Without Classes (1991)
David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hölzle


Object Storage and Inheritance for Self (1988)
Elgin Lee

Customization: Optimizing Compiler Technology for Self, a Dynamically-Typed Object-Oriented Programming Language (1989)
Craig Chambers and David Ungar

An Efficient Implementation of Self, a Dynamically-Typed Object-Oriented Language Based on Prototypes (1989)
Craig Chambers, David Ungar, and Elgin Lee

Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs (1990)
Craig Chambers and David Ungar

Making Pure Object-Oriented Languages Practical (1991)
Craig Chambers and David Ungar

Optimizing Dynamically-Typed Object-Oriented Programming Languages with Polymorphic Inline Caches (1991)
Urs Hölzle, Craig Chambers, and David Ungar

The Design and Implementation of the Self Compiler, an Optimizing Compiler for Object-Oriented Programming Languages (1992)
Craig Chambers

Debugging Optimized Code with Dynamic Deoptimization (1992)
Urs Hölzle, Craig Chambers, and David Ungar

Object, Message, and Performance: How They Coexist in Self (1992)
David Ungar, Randall B. Smith, Craig Chambers, and Urs Hölzle

A Fast Write Barrier for Generational Garbage Collectors (1993)
Urs Hölzle

Optimizing Dynamically-Dispatched Calls with Run-Time Type Feedback (1994)
Urs Hölzle and David Ungar

Adaptive optimization for Self: Reconciling High Performance with Exploratory Programming (1994)
Urs Hölzle

A Third-Generation Self Implementation (OOPSLA '94)
Urs Hölzle and David Ungar

Do object-oriented languages need special hardware support? (ECOOP '95)
Urs Hölzle and David Ungar

User Interface

Experiencing Self Objects: An Object-Based Artificial Reality (1990)
Bay-Wei Chang and David Ungar

The Use-Mention Perspective on Programming for the Interface (1992)
Randall B. Smith, David Ungar, and Bay-Wei Chang

Animation: From Cartoons to the User Interface (1993)
Bay-Wei Chang and David Ungar

Getting Close to Objects: Object-Focused Programming Environments (1995)
Bay-Wei Chang, David Ungar, and Randall B. Smith

The Self-4.0 User Interface: Manifesting a System-wide Vision of Concreteness, Uniformity, and Flexibility (1995)
Randall B. Smith, John Maloney, and David Ungar

Type inference and application extraction

Type Inference of Self: Analysis of Objects with Dynamic and Multiple Inheritance (ECOOP'93)
Ole Agesen, Jens Palsberg, and Michael I. Schwartzbach

Constraint-Based Type Inference and Parametric Polymorphism (SAS'94)
Ole Agesen

Sifting Out the Gold: Delivering Compact Applications From an Exploratory Object-Oriented Programming Environment (OOPSLA'94)
Ole Agesen and David Ungar

The Cartesian Product Algorithm (ECOOP'95)
Ole Agesen

Type Feedback vs. Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages (OOPSLA'95)
Ole Agesen and Urs Hölzle


Integrating Independently-Developed Components in Object-Oriented Languages (1993)
Urs Hölzle

Mango - A Parser Generator for Self (1994)
Ole Agesen

Papers directory for ftp
Back to Self home page