I'm currently interested in type inference. RoelTyper works by:
- searching all messages that are sent to instance variables
- searching all affections to instance variables
I think this is the kind of things that can be done on file based languages (dynamically typed).
It is not the only way to infer types with dynamically typed languages. For instance, let's assume you have:
a := A new. self foo: a.
Then you can infer than foo: takes a type A as argument.
I know that Lex Spoon worked on a type inference system.
But we are working with a live system with classes and their instances. It may be interesting to look at the instances of a given class and then get the type of the instance variable you want. If there are multiple instances of the class, we have to merge the results.
Is it a good idea ?
Maybe be interesting to couple this with testing...
Cheers, Alexandre