Computing That Serves

It's Turtles All the Way Up: Self-Extensible Programming Languages in PLT Scheme


Thursday, February 26, 2009 - 11:05am


Matthew Flatt
Associate Professor, University of Utah

The Lisp programming language and its descendants are famously extensible through macros. In the PLT Scheme programming language, we have pushed Lisp-style extensibility to new heights, developing a macro foundation that enables more modular and composable language extensions, more expressive transformations, and better support from a programming environment. In this talk, we explain how it works, and we show how to build language constructs such as objects and classes, dynamically checked contracts, static type checking, and lazy evaluation as extensions of Scheme via macros.


Matthew Flatt is an associate professor in the School of Computing at the University of Utah. He is one of the main developers of PLT Scheme, and he is a co-author of the introductory programming textbook How to Design Programs. He received his PhD in computer science from Rice University in 1999.