Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Constraint-based tools for building user interfaces
ACM Transactions on Graphics (TOG) - Special issue on user interface software
Experiences with the alternate reality kit: an example of the tension between literalism and magic
CHI '87 Proceedings of the SIGCHI/GI Conference on Human Factors in Computing Systems and Graphics Interface
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Strong typing of object-oriented languages revisited
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Parents are shared parts of objects: inheritance and encapsulation in SELF
Lisp and Symbolic Computation
Making pure object-oriented languages practical
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
The use-mention perspective on programming for the interface
Languages for developing user interfaces
Prototype-based languages: from a new taxonomy to constructive proposals and their validation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
The design and implementation of the self compiler, an optimizing compiler for object-oriented programming languages
Debugging optimized code with dynamic deoptimization
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Object-oriented programming with prototypes
Object-oriented programming with prototypes
Optimizing dynamically-dispatched calls with run-time type feedback
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Prototype-based languages (panel): object lessons from class-free programming
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A third-generation SELF implementation: reconciling responsiveness with performance
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Visual object-oriented programming
Directness and liveness in the morphic user interface construction environment
Proceedings of the 8th annual ACM symposium on User interface and software technology
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Efficient implementation of the smalltalk-80 system
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Adaptive optimization for self: reconciling high performance with exploratory programming
Adaptive optimization for self: reconciling high performance with exploratory programming
Directness and liveness in the morphic user interface construction environment
Proceedings of the 8th annual ACM symposium on User interface and software technology
Annotating objects for transport to other worlds
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Using object-orientation as a common basis for system development education
ACM SIGPLAN Notices
From Kansas to Oz: collaborative debugging when a shared world breaks
Communications of the ACM
Making design patterns explicit in FACE: a frame work adaptive composition environment
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Supporting flexible roles in a shared space
CSCW '98 Proceedings of the 1998 ACM conference on Computer supported cooperative work
Improving the aircraft design process using Web-based modeling and simulation
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Programming distributed systems with the delegation-based object-oriented language dSelf
Proceedings of the 2002 ACM symposium on Applied computing
An overview of a dynamic programming environment based on extensibility
Nordic Journal of Computing
Separation of Concerns in Mobile Agent Applications
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
A brief history of just-in-time
ACM Computing Surveys (CSUR)
ACM SIGPLAN Notices
An adaptive object model with dynamic role binding
Proceedings of the 27th international conference on Software engineering
Z0 - a tiny experimental language
ACM SIGPLAN Notices
Subtext: uncovering the simplicity of programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Constructing a metacircular Virtual machine in an exploratory programming environment
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static analysis for syntax objects
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Living it up with a live programming language
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Towards Concrete Syntax Patterns for Logic-based Transformation Rules
Electronic Notes in Theoretical Computer Science (ENTCS)
Zero-a blend of static typing and dynamic metaprogramming
Computer Languages, Systems and Structures
Adding State and Visibility Control to Traits Using Lexical Nesting
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Programming with time: cyber-physical programming with impromptu
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Event-specific software composition in context-oriented programming
SC'10 Proceedings of the 9th international conference on Software composition
An open implementation for context-oriented layer composition in ContextJS
Science of Computer Programming
A framework for adaptive mobile objects in heterogeneous environments
ODBASE'06/OTM'06 Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part II
Towards structural decomposition of reflection with mirrors
Proceedings of the International Workshop on Smalltalk Technologies
Wyvern: a simple, typed, and pure object-oriented language
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Hi-index | 0.03 |
The Self system attempts to integrate intellectual and nonintellectual aspects of programming to create an overall experience. The language semantics, user interface, and implementation each help create this integrated experience. The language semantics embed the programmer in a uniform world of simple objects that can be modified without appealing to definitions of abstractions. In a similar way, the graphical interface puts the user into a uniform world of tangible objects that can be direcdy manipulated and changed without switching modes. The implementation strives to support the world-of-objects illusion by minimizing perceptible pauses and by providing true source-level semantics without sacrificing performance. As a side benefit, it encourages factoring. Although we see areas that fall short of the vision, on the whole, the language, interface, and implementation conspire so that die Self programmer lives and acts in a consistent and malleable world of objects.