Multilingual Component Programming in Racket

Matthias Felleisen

In the world of Racket, software systems consist of interoperating components in different programming languages. These languages may provide the full functionality of Racket, or they may support a domain-specific notation. Naturally, Racketeers construct languages as Racket components and compose them to create new languages. This talk will present the ideas behind Racket: language-specific components, the composition of components, and, most importantly, the rich support for building languages.