SELF: The power of simplicity
Rent the article at a discountRent now
* Final gross prices may vary according to local VAT.Get Access
SELF is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages. Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. SELF's simplicity and expressiveness offer new insights into object-oriented computation.
To thine own self be true. — William Shakespeare laggy
- Abelson, H., Sussman, G. J., and Sussman, J.Structure and Interpretation of Computer Programs, MIT Press (1984).
- Borning, A. H.ThingLab—A Constraint-Oriented Simulation Laboratory. Ph.D. dissertation, Stanford University (1979).
- Borning, A. H. (1981) The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory. ACM Transactions on Programming Languages and Systems 3: pp. 353-387
- Borning, A. H. Classes Versus Prototypes in Object-Oriented Languages. InProceedings of the ACM/IEEE Fall Joint Computer Conference (1986) 36–40.
- Borning, A., and O'Shea, T. DeltaTalk: An Empirically and Aesthetically Motivated Simplification of the Smalltalk-80™ Language. Unpublished manuscript (1986).
- Goldberg, A., Robson, D. (1983) Smalltalk-80: The Language and Its Implementation. Addison-Wesley, Reading, MA
- Hewitt, C., and Agha, G. ACTORS: A Conceptual Foundation For Concurrent Object-Oriented Programming. Unpublished draft, MIT Artificial Intelligence Laboratory (1987).
- LaLonde, W. R., Thomas, D. A., Pugh, J. R. (1986) An Exemplar Based Smalltalk. OOPSLA '86 Conference Proceedings 21: pp. 322-330
- Lang, K. J., Pearlmutter, B. A. (1986) Oaklisp: An Object-Oriented Scheme with First Class Types. OOPSLA '86 Conference Proceedings 21: pp. 30-37
- Lieberman, H. (1986) Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems. OOPSLA '86 Conference Proceedings 21: pp. 214-223
- Rochat, R. (1986) In Search of Good Smalltalk Programming Style. Computer Research Laboratory, Tektronix Laboratories, Beaverton, OR
- Schaffert, C., Cooper, T., Bullis, B., Kilian, M., Wilpolt, C. (1986) An Introduction to Trellis/Owl. OOPSLA '86 Conference Proceedings 21: pp. 9-16
- Sheil, B. (1983) Power Tools for Programmers. Datamation 29: pp. 131-144
- Smith, R. B. The Alternate Reality Kit: An Animated Environment for Creating Interactive Simulations. InProceedings of 1986 IEEE Computer Society Workshop on Visual Languages (1986) 99–106.
- Smith, R. B. Experiences with the Alternate Reality Kit: An Example of the Tension Between Literalism and Magic. InProceedings of the CHI+GI '87 Conference (1987) 61–67.
- Smith, R. G. Strobe: Support for Structured Object Knowledge Representation. InProceedings of the 1983 International Joint Conference on Artificial Intelligence (1983) 855–858.
- Steele, G. L., Jr. Lambda, the Ultimate Imperative. AI Memo 353, MIT Artificial Intelligence Laboratory (1976).
- Stefik, M., Bobrow, D., Kahn, K. (1986) Integrating Access-Oriented Programming into a Multiprogramming Environment. IEEE Software Magazine 3: pp. 10-18
- Ungar, D., Chambers, C., Chang, B., Hölzle, U. (1991) Organizing Programs Without Classes. Lisp and Symbolic Computation 4: pp. 223-242
- Ungar, D., Smith, R. B. (1987) SELF: The Power of Simplicity. OOPSLA '87 Conference Proceedings 22: pp. 227-241
- SELF: The power of simplicity
LISP and Symbolic Computation
Volume 4, Issue 3 , pp 187-205
- Cover Date
- Print ISSN
- Online ISSN
- Kluwer Academic Publishers
- Additional Links