This paper investigates the viability of using scope graphs to implement type checkers for programming languages, specifically for a Scala subset. The primary objective is to determine if scope graphs can offer a declarative and extensible approach to type checking. To achieve this, we used a phased Haskell library to implement such a type checker. The declarativity and feature extensibility of the approach were evaluated by means of comparation with Rouvoet et al.'s approach in mini-Statix. The results demonstrate that using scope graphs as a basis for type checking yields a modular and extensible solution compared to traditional methods. However, it is noted that this approach may sacrifice a certain degree of declarativity. These finding...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
To warrant programmer productivity, type checker results should be correct and available quickly. Co...
Dependently-typed languages are well-known for the ability to enforce program invariants through typ...
Static name binding (i.e., associating references with appropriate declarations) is an essential asp...
Traditional type-checking programs are typically designed for specific programming languages, re- su...
Scope graphs provide a way to type-check real-world programming languages and their constructs. A pr...
Scope graphs are a promising generic framework to model the binding structures of programming langua...
Compilers that can type check compilation units in parallel can make more efficient use of multi-cor...
Fast analysis response times in IDEs are essential for a good editor experience. Incremental type-ch...
Recently scope graphs were introduced as a formalism to specify the name binding structure of a prog...
Statix is a language which generates a type checker from a declarative specification. However, Stati...
There is a large gap between the specification of type systems and the implementation of their type ...
Extended version of the OOPSLA '20 paper "Knowing When to Ask". Abstract: There is a large gap betw...
To warrant programmer productivity, type checker results should be correct and available quickly. Co...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
To warrant programmer productivity, type checker results should be correct and available quickly. Co...
Dependently-typed languages are well-known for the ability to enforce program invariants through typ...
Static name binding (i.e., associating references with appropriate declarations) is an essential asp...
Traditional type-checking programs are typically designed for specific programming languages, re- su...
Scope graphs provide a way to type-check real-world programming languages and their constructs. A pr...
Scope graphs are a promising generic framework to model the binding structures of programming langua...
Compilers that can type check compilation units in parallel can make more efficient use of multi-cor...
Fast analysis response times in IDEs are essential for a good editor experience. Incremental type-ch...
Recently scope graphs were introduced as a formalism to specify the name binding structure of a prog...
Statix is a language which generates a type checker from a declarative specification. However, Stati...
There is a large gap between the specification of type systems and the implementation of their type ...
Extended version of the OOPSLA '20 paper "Knowing When to Ask". Abstract: There is a large gap betw...
To warrant programmer productivity, type checker results should be correct and available quickly. Co...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
To warrant programmer productivity, type checker results should be correct and available quickly. Co...
Dependently-typed languages are well-known for the ability to enforce program invariants through typ...