Proceedings of the International Workshop on Context-Oriented Programming - COP '12 2012
DOI: 10.1145/2307436.2307438
|View full text |Cite
|
Sign up to set email alerts
|

Scoping changes in self-supporting development environments using context-oriented programming

Abstract: 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 contextoriented programming (COP) can be used to … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2013
2013
2017
2017

Publication Types

Select...
4
1
1

Relationship

3
3

Authors

Journals

citations
Cited by 8 publications
(10 citation statements)
references
References 15 publications
0
10
0
Order By: Relevance
“…This is of particular interest in combination with the Morphic framework of Squeak/Smalltalk [16]. In case of an exception in the [13][14][15] UI process, the process is suspended and the environment opens a debugger for it. Additionally, a new UI process is spawned which has an empty transactions stack.…”
Section: Scoping Edit Transactionsmentioning
confidence: 99%
See 3 more Smart Citations
“…This is of particular interest in combination with the Morphic framework of Squeak/Smalltalk [16]. In case of an exception in the [13][14][15] UI process, the process is suspended and the environment opens a debugger for it. Additionally, a new UI process is spawned which has an empty transactions stack.…”
Section: Scoping Edit Transactionsmentioning
confidence: 99%
“…The sender of the topmost context from which on no conflicting method has been found is stored and the block closure converted to a context using the asContext method. The stored [13][14][15][16] context's sender is set to the result of this call, whose sender is in turn set to the stored context's original sender, thereby intercepting the return of this context. Since the intercepted return may also return a value, we need to instruct the closure to pass through this value by returning thisContext at: 2 (the stack frame location where the last return has been stored).…”
Section: Implementing Consistencymentioning
confidence: 99%
See 2 more Smart Citations
“…We argue that, still, many tools employ designs that stretch the feedback loop unnecessarily. Typically, there is no direct connection between a tool's run-time components and its source code [9], modifications involve domain-independent redundancies, and there have to be additional means to reliably update tools to keep on using them [21].…”
Section: Live Programming Systemsmentioning
confidence: 99%