[Pharo-project] type inference in Pharo

Frank Shearar frank.shearar at gmail.com
Wed Jul 18 10:50:36 EDT 2012


On 18 July 2012 15:23, Alexandre Bergel <alexandre.bergel at 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 at 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
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>




More information about the Pharo-dev mailing list