Building Extensible Software:
A Programming Language Perspective


Matthias Felleisen

Why does abstraction matter in software engineering? What is the key to re-use? What is extensibility or black-box re-use? What kind of programming protocols (patterns) implement extensible systems? How can programming languages support extensibility? These and other questions arose from work on DrScheme, a programming environment for introductory programming. The talk will present partial answers and suggestions for software engineers and language implementors.

matthias@ccs.neu.edu