On this page:
Racket School 2018

Racket School 2018

Matthias Felleisen, Matthew Flatt, Stephen Chang, Matthew Butterick, Robby Findler, Jay McCarthy

This summer school introduces attendees to the Racket way of language-oriented programming and language building.

The table below presents a concise summer school schedule. Most sessions will consist of a lecture part and a hands-on lab. Our goal is to lecture for less than 90 minutes and to give you at least 120 minutes of lab time. The lectures will introduce basic ideas. The labs will provide you with a chance to get your hands dirty with practical exercises on the lecture topics.

After a brief motivational overview lecture on Monday morning, the first four days are dedicated to the corner stones of building languages: compile-time functions, languages as modules, typed languages, and ugly syntax. On Friday, we will slow down a bit: Jay McCarthy, Matthew Flatt, Robby Findler, and Matthew Butterick will give lectures on some of the languages they have built, and you will have a chance to ask questions/talk to the staff in the long breaks.


Morning (9:00 – 12:30)


Afternoon (13:30 – 17:00)





Racket and Language-oriented Programming


Parsing Syntax, Syntax Classes

lab sessions


Lab Syntax, More Syntax, ...


Lab ... and Yet More Syntax





Building a Language


Completing the Language

lab sessions


Lab My First Language


Lab My First Real Language





Lexing and Parsing


Building an Ugly Language

lab sessions


Lab Parsing Modules


Lab My First Ugly Language





Types and Type Checking


Building a Typed Language with Macros and Turnstile

lab sessions


Lab My First Typed Language


Lab My Second Typed Language





Language Gems I


Language Gems II

lab sessions



Good Bye

Figure 1: Workshop schedule