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.
Tue 4 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | Session IIIPX at D2.14 Chair(s): Richard P. Gabriel Dream Songs, Inc. & IBM Research, Robert Hirschfeld HPI, Hidehiko Masuhara Tokyo Institute of Technology | ||
13:30 45mDemonstration | Runtime Metric Meets Developer: Augmenting Source Code with Runtime Information to Make Programs Live PX Jürgen Cito University of Zurich | ||
14:15 45mTalk | Squeak Makes a Good Python Debugger PX Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Tim Felgentreff Hasso-Plattner-Institute, Potsdam, Tobias Pape HPI, Germany, Robert Hirschfeld HPI |