On Sep 29, 2005, at 12:52 PM, Alexandre Bergel wrote:
Hi!
I really like what Roel did about his type inferencer. I coded a bit to integrate them within a code browser. Just open a class and browse some code. http://www.iam.unibe.ch/~bergel/RoelTyper.zip
Any comment?
Cool. I found the instance variables listing in the comment pane - is there anything else I missed?
It's a lot of fun to browse through and see what types it picks up. For collections, it often shows something like:
<ArrayedCollection Bag Heap Interval LinkedList MappedCollection OrderedCollection Set SkipList WeakRegistry>
It's a little bit surprising that there's no common superclass of all of these that it could have found. Of course, that seems to place too much weight on inheritance - it almost makes me want to define some kind of first class abstract protocol (trait?) that captures what all of those have in common, so the type inferencer could just list that...
I have no idea if this is feasible performance-wise, but it would be great to integrate this with Shout so that you got real-time feedback about whether the sends you're doing to instance variables are consistent with their currently inferred type.
Avi