Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Fri 28 Aug 2020 12:40 - 12:50 at Scheme - Research Session 1

Type systems are one of the fundamental things that everyone in the programming languages community must study. In our research group, we run a semester-long type systems seminar every two years, covering essential chapters of the traditional TaPL book. This year, however, we are attempting a different approach, namely teaching type systems through programming in the Turnstile language of Chang et al. Turnstile is a Racket DSL for creating typed programming languages, built under the slogan “type systems as macros”. More specifically, it allows the user to define typing rules in the familiar, derivation-like syntax, and to reuse Racket’s infrastructure for type checking and evaluation.

We report our experience in teaching type systems as macros to an undergraduate student who joined our research group this spring (the second author). In particular, we show how the student used Turnstile to build simple type-and- effect systems, and what difficulties the student had in the course of implementation.

On Teaching Type Systems as Macros (scheme20-final4.pdf)317KiB

Fri 28 Aug
Times are displayed in time zone: Eastern Time (US & Canada) change

11:30 - 13:00: Research Session 1Scheme at Scheme
11:30 - 12:00
Talk
Clotho: A Racket Library for Parametric Randomness
Scheme
Pierce DarraghUniversity of Utah, William G HatchUniversity of Utah, Eric EideUniversity of Utah
File Attached
12:00 - 12:30
Talk
Scheme for scientific computing
Scheme
Francesco MontanariUniversidad Autónoma de Madrid
File Attached
12:30 - 12:40
Talk
Designing a Programming Environment Based on the Program Design Recipe (Lightning Talk)
Scheme
Junya NoseTokyo Institute of Technology, Youyou CongTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
File Attached
12:40 - 12:50
Talk
On Teaching Type Systems as Macros (Lightning Talk)
Scheme
Youyou CongTokyo Institute of Technology, Naoya FurudonoTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
File Attached
12:50 - 13:00
Talk
Programming with Petri Nets to Reason about Concurrency (Lightning Talk)
Scheme
julien lepillerYale University
File Attached