Incremental Type Checkers using Scope Graphs

Hendrik van Antwerpen

Date: Wed, March 18, 2020
Time: 12:00
Room: Eelco's Zoom Room

Incremental type checking is essential for a good developer experience in large software projects. The goal of incremental type checking is to reduce the amount of work that is redone when only some of the files in a project change. Making a type checker incremental from a regular type checker is a non-trivial task. Approaches for incremental type checking go back to at least the early 1980s. However, general approaches lack support for more advanced features such as dependency discovery and mutually recursive dependencies. These advanced features are only found in approaches for specific languages. In this talk I present a language-agnostic approach to incremental type checking that supports dependency discovery and mutually recursive dependencies. The approach requires the type checker to use scope graphs for name binding and resolution, but otherwise puts few requirements on the type checker’s internals.

Previous: Cas van der Rest |
Next: Jeff Smits |