Deriving Incrementality-Related Program Properties from Scope-Graph-Based Type-Checkers
Date: Wed, November 24, 2021
Room: Aron's Zoom Room
Many incremental type-checkers use standardized techniques to achieve incrementality, such as tracking dependencies between compilation units and identifying module interfaces, which are all declarations in a module that are visible externally.
In this talk, I will demonstrate how some of these properties can be derived from scope-graph-based type-checkers. We extend the standard scope-graph model with the concept of compilation units, and assign an owning unit to each scope and edge. From this extended model, we derive and inter-module dependencies.
When adding awareness of the order of scope graph construction and querying operations to the model, these dependencies can be classified as static or dynamic. In addition, the part of the scope graph that is independent from external units can be identified.
Cas van der Rest | Typing Extensible Data Types and Functions using Rows
Next: | Deriving Effect Handler Semantics