3 ms·
> "if you modify a method you don't need to reload the entire class or module or entire runtime. For me, this feature alone makes for a big productivity increas
by grzm 9y ago
> "if you modify a method you don't need to reload the entire class or module or entire runtime. For me, this feature alone makes for a big productivity increase."
Would you expand on this? From a theoretical standpoint I can see how reloading only a single method could be more performant (and therefore more productive) than reloading an entire class or module. From a practical standpoint, if reloading a method ends up reloading a class or module to effect the reload, is there a noticeable difference or improvement? Or am I just misunderstanding?
(I happened to have spent part of day looking at cloxp and lively. Nice to come across you here as well. Nice work!)
- EdwardCoffin 9y agoIn Smalltalk reloading a modified method will not reload a class or module to effect the reload. This is fundamental to the way Smalltalk works: a modified method cannot alter the way anything outside the method is defined. Note that Smalltalk has no notion of anything like inlining or anything like that. I think that what the OP must have meant about this was that you can update a method without interfering with the program's current state, so while at a breakpoint say, you can fix a minor bug or perhaps add some debugging code or whatever, then resume, and all subsequent invocations of that method will use the new definition.