This paper looks like rephasing
http://selflanguage.org/documentation/published/type-inference.html
for ruby.
In self it turned out that profiling type frequencies give better results.
http://selflanguage.org/documentation/published/type-feedback.html

As profiling is easier to implement too I would recommand start with
profiling and add easy type inference later to remove type checks.

On Wed, Oct 26, 2011 at 02:54:06PM +0900, Carter Cheng wrote:
>    Yes that is the one :-).
> 
>    On Wed, Oct 26, 2011 at 3:44 PM, "Martin J. Dst"
>    <[1]duerst / it.aoyama.ac.jp> wrote:
> 
>      Most probably:
> 
>      Dynamic inference of static types for ruby,
>      Jong-hoon (David) An, Avik Chaudhuri, Jeffrey S. Foster, Michael Hicks,
>      January 2011, POPL '11: Proceedings of the 38th annual ACM
>      SIGPLAN-SIGACT symposium on Principles of programming languages;
> 
>      Abstract:
>      There have been several efforts to bring static type inference to
>      object-oriented dynamic languages such as Ruby, Python, and Perl.
>      In our experience, however, such type inference systems are extremely
>      difficult to develop, because dynamic languages are typically
>      complex, poorly specified, and include features, such as eval
>      and reflection, that are hard to analyze.
>      ...
> 
>      Regards, Martin.
> 
>      On 2011/10/26 10:07, SASADA Koichi wrote:
> 
>        Hi,
> 
>        (11/10/25 23:36), Carter Cheng wrote:
> 
>          developments in trace trees (older notions like in Dynamo) or the
>          latest
>          piece on Ruby in POPL 2011.
> 
>        Reference?
> 
> References
> 
>    Visible links
>    1. mailto:duerst / it.aoyama.ac.jp

-- 

vi needs to be upgraded to vii