On this page:
Racket School 2019:  
The “How to Design Languages” Track
7.4.0.4

Racket School 2019:
The “How to Design Languages” Track

Matthias Felleisen, Matthew Flatt, Robby Findler, Jay McCarthy, Jesse Tov

This summer school track 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, and typed languages. On Friday, we will give you a chance to put everything together in an extended lab exercise.

We will also arrange a session when you will have a chance to ask questions or just talk to the us about HtDL issues.

 

Morning (9:00 – 12:30)

 

Afternoon (13:30 – 17:00)

 

 

Monday

 

Language-Oriented Programming

 

Language Extensions via Macros

 

Macro Expansion

 

Lab Simple Macros

 

 

Tuesday

 

Advanced Racket Macros

 

Lexical Scope, (Un)Hygienic Macros

 

Lab Syntax Patterns & Classes

 

Lab Comfortable Macros

 

 

Wednesday

 

Modules, Macros, Languages

 

More Language Variations

 

Lab Languages via Macros

 

Lab Languages and Readers

 

 

Thursday

 

Types and Type Checking

 

Typed Languages with Turnstile

 

 

Lab My First Turnstile Language

 

 

Friday

 

Two Techniques

 

Some Language Gems

 

Extended Lab Regexps

 

Closure

Figure 1: Workshop schedule