[Newbies] Re: squeak and the jvm

Michael Haupt mhaupt at gmail.com
Wed Nov 8 17:27:05 UTC 2006


Hi Mike,

On 11/8/06, Michael Kohout <mwkohout at gmail.com> wrote:
> Yes, this is what I was referring to.  Hotswapping is sort of there
> for the jvm.  When I use Eclipse, it tries to hotswap.  Sometimes it
> fails.  Sometimes it doesn't.

the HotSwap features of the JVM are fairly constrained when compared
to those available in Smalltalk.

Java's HotSwap does not allow for schema changes, i.e., you cannot add
or remove fields to classes (or change their type, which would albeit
be not too interesting in a Smalltalk implementation). You also cannot
add or remove any methods. You cannot change methods' signatures.

All you *can* do is change the implementations (i.e., bytecodes) of
existing methods, but recall that you cannot change their signature,
i.e., add or remove parameters or return types.

> But I don't have a clue about #become.  What does it do?

Take this example:

someObject become: someOtherObject

The effect of this code is that all references to someObject are
turned into references to someOtherObject, and vice versa. Literally,
the object "becomes" another one.

Best,

Michael


More information about the Beginners mailing list