Computing That Serves

Building Language Ecosystems


Thursday, February 24, 2011 - 11:00am


Ryan Culpepper
Post-doctoral Fellow
School of Computing
University of Utah


Jay McCarthy

The Lisp ideal of software construction is to first build a language for solving the problem at hand, then use it. The Racket language platform enables programmers to extend the general-purpose host language and even create new specialized languages that inter-operate with the host and each other. The Racket language ecosystem already includes a typed variant of Racket, a lazy variant, simplified functional languages for teaching, a language specialized for efficient web servlets, and a language for writing documentation. The basis of the Racket language platform is a Lisp-derived macro system, but constructing powerful, robust language extensions requires extensions beyond the traditional scope of Lisp macros. In this talk, we explain the facilities provided by Racket macro system for communication between, and protection of, language extensions.


Ryan Culpepper is a post-doc in the School of Computing at the University of Utah. He received his PhD in computer science from Northeastern University in 2010.