On 18 July 2012 15:23, Alexandre Bergel <alexandre.bergel@me.com> wrote:
So running type inference over "1 + e" will say "e is a SmallInteger", rather than "e is a Number".
It uses abstract interpretation, if that answers your question?
Well... not really. The problem I have is the following: I would like to compare two techniques to get dependencies between classes. One using a type inferencer and another using a profiler we have done. The hypothesis I would like to verify is that statically you always know less than by profiling the execution.
However, it is difficult for me to use your type inferencer if I do not exactly know what is your algorithm. In a scientific publication, I cannot just put the url of the blog as a description of the algorithm.
http://dl.dropbox.com/u/1754431/Type%20inference/TiThesis-1.pdf isn't exactly a post on a blog though. Francisco can of course correct me if I'm wrong, but I'm pretty sure he & I discussed something like what you're after during a UKSTUG meeting. I wanted to be able to answer questions like "what types does this method take as arguments? what types can it return?", which is something like calculating dependencies between classes. I'm pretty sure he felt that concrete type inference wouldn't answer those kinds of questions. I solved my issue [1] by querying the system: given a single-parameter method, what messages are sent to that parameter? What classes implement that set of messages? frank [1] http://www.lshift.net/blog/2012/01/31/duck-finding-for-testing-your-theories
Cheers, Alexandre
On Jul 17, 2012, at 12:08 PM, Guillermo Polito wrote:
It's in the same blog:
http://concretetypeinference.blogspot.fr/2012/05/about-how-i-got-here.html
Cheers, Guille
On Tue, Jul 17, 2012 at 6:03 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi!
There is some work being done on inferring type (http://concretetypeinference.blogspot.com). What is the theoretical background of this work? What is the algorithm used to infer the types?
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.