CSAIL Event Calendar


PL Working Group: Languages as Libraries

Speaker: Sam Tobin-Hochstadt, Northeastern University
Date: Wednesday, May 11 2011
Time: 4:00PM to 5:00PM
Location: 32-G882
Host: Jean Yang, MIT CSAIL
Contact: Jean Yang, jeanyang@csail.mit.edu
Relevant URL: http://www.ccs.neu.edu/scheme/pubs/pldi11-thacff.pdf

Abstract:
Programming language design benefits from constructs for extending the
syntax and semantics of a host language. While C’s string-based macros
empower programmers to introduce notational short-hands, the
parser-level macros of Lisp encourage experimentation with
domain-specific languages. The Scheme programming language improves on
Lisp with macros that respect lexical scope.

The design of Racket—a descendant of Scheme—goes even further with the
introduction of a full-fledged interface to the static semantics of
the language. A Racket extension programmer can thus add constructs
that are indistinguishable from “native” notation, large and complex
embedded domain-specific languages, and even optimizing
transformations for the compiler backend. This power to experiment
with language design has been used to create a series of sub-languages
for programming with first-class classes and modules, numerous
languages for implementing the Racket system, and the creation of a
complete and fully integrated typed sister language to Racket’s
untyped base language.

In this talk, I'll review the power of Lisp macros for
metaprogramming, describe how Scheme introduced lexical scope for
macros, and then show how Racket builds upon these foundation to
support the development of full-fledged languages as libraries.

Bio:
Sam Tobin-Hochstadt is a Mozilla Postdoctoral Research Fellow at
Northeastern University.

See other events happening in May 2011


About Us Research News Resources Directory