Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Things Lucid could do
Last updated at 1:41 pm UTC on 16 January 2006
  1. Is this message unimorphic? If so, show its code.
  2. How many implementations does it have? What is the least common ancestor for the implementing classes?
  3. What classes of object does this method send messages to (remove thestandard libraries from the result set and this is a strong tool for understanding how classes in a program relate)?
  4. Is this method effect-free? (this requires transitive analysis of methods called. useful for knowing which methods in a class are the movers and shakers (state-changers), and which are utilities)
  5. Can I by any chance hueristically determine that this expression will/will not terminate correctly? (obviously not something I expect to get precise results on, but if it can catch 50% of DNU bugs statically, thats plenty good enough for me)

I think one of the nicest coding helpers in ST is the unknown selector
warning+correction wizard. I have always wanted it to help more when you forget parenthesis, as in:
String new: 30 match: 'asd'
If we have type-hints, we can easily see that
(String new: 30) match: 'asd'
will terminate, and
String new: (30 match: 'asd')
will not, and propose the correct alternative!

Daniel