newspeak
newspeak copied to clipboard
Restore black market access in debugger
Squeak-based Newspeak had a feature that allows one to access elements that are not in scope while debugging. We need to support this in the web version. Indeed, this mechanism has uses throughout the IDE, in object presenters and methd evaluators, when defining exemplars etc. It may be worth extending it to provide convenient access to non-public members, to pre-existing exemplar data etc.
Looking in to this, I can see that the feature was taken out a few years ago. It was replaced by a facility to specify an enclosing scope. The intent is to provide a scope where the top level scope is available via _. That was a mistake. Using a scope to provide it instead of a special syntax is broken, because _ is a legal message name. Normal code has different meaning when debugging, and also normal code can prevent access to the black market. The original design recognized this issue and defined a extended language for debugging and other IDE interactions. In any case, even the _ access doesn't function right now.