SMALLTALK-80: the interactive programming environment
SMALLTALK-80: the interactive programming environment
Lisp and Symbolic Computation
Directness and liveness in the morphic user interface construction environment
Proceedings of the 8th annual ACM symposium on User interface and software technology
A simple and unifying approach to subjective objects
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Contributing to Eclipse: Principles, Patterns, and Plugins
Contributing to Eclipse: Principles, Patterns, and Plugins
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Encapsulating and exploiting change with changeboxes
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Self-Sustaining Systems: First Workshop, S3 2008 Potsdam, Germany, May 15-16, 2008 Revised Selected Papers
The Lively Kernel A Self-supporting System on a Web Page
Self-Sustaining Systems
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
An open implementation for context-oriented layer composition in ContextJS
Science of Computer Programming
Implementing scoped method tracing with ContextJS
Proceedings of the 3rd International Workshop on Context-Oriented Programming
The Lively PartsBin--A Cloud-Based Repository for Collaborative Development of Active Web Content
HICSS '12 Proceedings of the 2012 45th Hawaii International Conference on System Sciences
Efficient Layer Activation in Context JS
C5 '12 Proceedings of the 2012 10th International Conference on Creating, Connecting and Collaborating through Computing
User-evolvable tools in the web
Proceedings of the 9th International Symposium on Open Collaboration
Hi-index | 0.00 |
Interactive development in self-supporting systems like Smalltalk or the Lively Kernel allows for an explorative and direct development workflow. Because of the immediate and direct feedback loops, changes to core behavior can lead to accidentally breaking the programming tools themselves. By separating the tools from the objects they work on, this fatal self referentiality can be avoided, but at the expense of interactive development. In this paper we show how context-oriented programming (COP) can be used to separate tools from the objects under development. Instead of directly modifying meta-structures, changes should go into layers on top of these structures. Since layers can be scoped at run-time, changes do not affect the programming tools. We demonstrate this approach by showing examples of adapting core behavior in our self-supporting development environment Webwerkstatt with Context JS, our COP extension for JavaScript.