Proposal by Tomas Carrasco Escaff for Programming tools for Pharo based on Type Inference

Proposed by Tomas Carrasco Escaff (profile, biography)

How will I do that project

I can invest 20 hours a week on the project. I'll constantly being in touch with my mentor, specially at the beginning of the project so I could get a lot of feedback from him to get a right start. I'm really interested in develop doing small short iterations and discussing all the progress with my mentor, so the project could take the desired course.

What methodologies will I use

I will make very small iterations, for wich I'll use TDD. I'll maintain code on Smalltalkhub repository, so my mentor could see progress anytime he want it. I expect discuss the course of the project with my mentors each week. Also, I will be constantly studying about type inference and different kinds of algorithms, so it could advantage the development process. 

Suggested timeline and milestones

First 3 weeks:

  • review a few relevant papers on type inference theory
  • review different kinds of type inferencer tools
  • study RoelTyper and the work on concrete typing by Santiago Bragagnolo
  • determine properties of Pharo tools to be implemented and select appropriate type inference tools to use

Next 6 weeks:

  • develop an API from wich make the UI
  • study Spec during the API development, so to be aware from any possible future trouble
  • develop the UI


  • test the quality of the whole work done
  • refactoring as necessary
  • assessment of the usability of the UI with Smalltalk comunity  

Where I see the risks

I think the major risk is due to the possibility of not select an appropriate inferencer for the tools to be implemented, because that could impact on the efficiency of the API, and so on the UI usability. 

How the results will look like

I expect that a new tool for Pharo be available and so all Pharo Smalltalkers could be write and read code more easily!

Updated: 2.5.2013