Tutorial: 16:20-17:55 (English)

Implementing Domain-Specific Langugages with Racket

One of the most powerful abstraction facilities in any programming languages has been effectively confined to Scheme and its descendant Racket: hygienic macros. The “hygienic” means that Racket macros respect the scoping rules of the language, and thus does not require the programmer to garnish macro expanders with manual name generation, a process both tedious and error-prone.

As a result, the Racket macro system is a pleasure to use, and enables the implementation of syntactic facilities beyond the practical reach of traditional Lisps such a Clojure, and beyond the imagination of lesser languages. What dials up the DSL capabilities up to 11 however is the availability of control operators in Racket.

The tutorial gives a short hands-on introduction to both. Prior Racket experience is not required.

Preparation

Download and install Racket from here.

Michael Sperber

@sperbsen

Michael Sperber is CEO of Active Group in Tübingen, Germany. Mike specializes in software architecture using functional programming.