Type-Checking Modules and Imports using Scope Graphs
A Case Study on a Language with Relative, Unordered and Glob Import Semantics
P.M. Hübner (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Casper Bach Bach Poulsen – Mentor (TU Delft - Programming Languages)
A.S. Zwaan – Mentor (TU Delft - Programming Languages)
T. Durieux – Graduation committee member (TU Delft - Software Engineering)
More Info
expand_more
Related dataset 4TU.ResearchData
https://data.4tu.nl/datasets/288296b9-fcdf-4960-bab4-8aee3a46927cOther than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Scope graphs provide a way to type-check real-world programming languages and their constructs. A previous implementation that type-checks the proof-of-concept language LM, a language with relative, unordered, and glob imports, does not halt. This thesis discusses a five-step approach for constructing and type-checking a scope graph of an LM program. Using manually scheduled queries and auxiliary algorithms, type-checking the majority of examples failing in previous literature succeeds. The introduction of breadth-first-traversal and multi-origin querying is discussed as new scope graph primitives to aid in the reusability of this thesis for type-checkers that require stratified resolution.