Pharo control from Emacs

Research Team:
Team leader (HDR):
St├ęphane Ducasse
Project leader and contacts:
Damien Cassou (Project contact)
Nicolas Petton

Project context

Pharo is a new free open-source Smalltalk-inspired programming language and environment. It provides a platform for innovative development both in industry and research.

The Pharo IDE (integrated development environments) is quite powerful as it features code browsers, debuggers, object inspectors, immediate feedback... Nevertheless, such IDEs have been lacking great text manipulation features that have been available for decades in good text editors such as Emacs and Vi. Moreover, many developers outside the Smalltalk community have developed great skills in their favorite editors and they are often reluctant to switch to different tools.

Project goal and work plan

In this project we propose to port some of the best Pharo tools to the Emacs platform so that developers can use very high-level tools while still using their day to day editor.

The student will benefit from the already existing Shampoo project which already features a Smalltalk code browser in Emacs. In this project, the student will have to:

  • fix the problems that make it hard to start using Shampoo;
  • continue the development of the Smalltalk code browser in Emacs and write unit tests;
  • using a test-driven approach, implement a debugger interface in Emacs using the already existing Smalltalk debugger infrastructure;
  • using a test-driven approach, implement object inspectors and immediate feedback (do-it and print-it).

Benefits for the student

  • Knowledge of Smalltalk, Emacs Lisp and inter-process communication;
  • Integration into a prolific research group, fond of software development and programming languages;
  • Potential integration as a master and/or PhD student either within the group or within one of its numerous partners around the world (Switzerland, Chile, Belgium, Argentina).

Benefits to the Community

With such a tool, more developers will be able to join our community as many don't want to stop using their favorite editors. Additionally, even existing Smalltalk developers will benefit from the Emacs platform that has improved steadily for decades.


  • Be a convinced Emacs user;
  • Being eager to learn a new programming language and environment.