On Mon, 29 Aug 2011, Stéphane Ducasse wrote:

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.


Levente


   Halt once.

Lukas


On 28 August 2011 19:47, Marcus Denker <[email protected]> wrote:

On Aug 28, 2011, at 7:24 PM, Sean P. DeNigris wrote:


2. Using Object to halt causes bloat, and doesn't buy much (except that's
how we've always done it).


Back in the days, we were virtually crucified for introducing the Beeper class 
along the
same reasoning...

The Beeper actually got very depressed due to having his very existance being
questioned.

"I am just the result of a random refactoring" he was complaining "maybe I 
should just
just delete myself and everyone will be happy".

(you know, reflection *is* dangerous! There has been a lot of talk to make 
reflection more
secure... for a reason!).

To cheer him up, I gave him the lead role in a real, peer reviewed Paper:

       http://scg.unibe.ch/archive/papers/Denk08bMetaContextLNBIP.pdf

The Beeper thus was the first Class to be really "Meta" in the history of
Objects. What a thrill. In an interview, the Beeper said: "You know, being meta 
is hard
to decribe... Classes claim to be Meta all the time. But I doubt they ever 
really are Meta. Being
Meta is special. The whole System looks different when meta!"

;-)

--
Marcus Denker -- http://marcusdenker.de






--
Lukas Renggli
www.lukas-renggli.ch



Reply via email to