and we could keep all the Object method in a extension of the halt packages and just some of them as forward to Halt.
I know that there was an attempt on the inbox to do that. But I was worried that people will complain. Now cleaning Object would be nice.
Stef
On Aug 28, 2011, at 8:10 PM, Lukas Renggli wrote:
We have a class Halt and the class-side is empty. This seems to be the right place to hold all the code in the protocols #debugging and #debuggin-haltonce of Object. With a few renames we could get a really nice DSL:
Halt now. Halt if: a = 2.
why not Halt ifTrue: [a = 2].
?
two questions in my questions :) [] and True:
Currently you can't send #ifTrue: to any object. If you want to enable that, then you have to: - remove the optimization which will result in worse performance and will break code that assumes this method is atomic - or you have to change the compiler to generate extra bytecodes which will perform the real message send when the receiver is not a boolean and change the VM to not send the message in specialObjectsArray (currently #mustBeBoolean), but execute those extra bytecodes - or you have to change the handling of NonBooleanReceiver, use the decompiler to find out what has to be sent to who, etc.
Btw Halt if: a = 2 is much more readable IMHO.
I agree I was curious and waking up.