Interactive debuggers are indispensable in many software development scenarios. However, they are often hard to extend and more importantly, their capabilities are limited to an Application Programming Interface (API) provided by the runtime executing the corresponding programming language.
We propose an approach that allows to use the live tools of a Smalltalk environment for other programming languages. The approach is based on interpreter-level composition, ultimately making a full-fledged Integrated Development Environment (IDE) part of the language execution process. This allows to directly control interpreters of foreign languages from Smalltalk. It also enables tool reuse and provides the ability to rapidly build new tools.
As an example, we demonstrate how we have combined Squeak/Smalltalk and PyPy’s Python implementation. We then reused Squeak’s debugger, so that it enables edit-and-continue style debugging of Python applications — something that is currently not supported by Python’s PDB or any Python IDE.
Conference DayTue 4 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00
|Runtime Metric Meets Developer: Augmenting Source Code with Runtime Information to Make Programs Live |
Jürgen CitoUniversity of Zurich
|Squeak Makes a Good Python Debugger|