Programming tools for Pharo based on Type Inference

Mentor: Camille Teruel
Second mentor: Stéphane Ducasse
Level: Advanced
Submitted proposal to Melange: Tomas Carrasco Escaff, Gisela Decuzzi
Invited students: Tomas Carrasco Escaff, Gisela Decuzzi
Students interested: Tomas Carrasco Escaff(very), Gisela Decuzzi


Type inference mechanisms can be used to compute the types of variables from the source code. This information is very interesting in the context of a dynamically-typed language like Smalltalk. Several
type inference tools already exists for Smalltalk but the type information they bring has not revealed all its potential yet. The student will have to leverage this type information with new programming

Example of such tools are:

  • Code analysis tools:
    • better "implementors of" and "senders of" lists
    • dead code finder
  • Development tools:
    • type mismatch hints at compile time
    • better code completion

Technical details

The student will have to analyze existing type inference tools and choose an appropriate solution. Then he will have to learn how to build UIs with Spec.

Benefits for the Community

  • New useful development tools

  • * Improvement of existing code base thank to these tools

Benefits for the student

  • Use a highly reflective dynamic language
  • Learn the basics of type inference
  • Learn how to make UIs with Spec
  • Have an impact on the code base of a large project

Updated: 10.4.2013