KIT | KIT-Bibliothek | Impressum | Datenschutz

A Systematic Approach to Deriving Incremental Type Checkers

Pacak, André; Erdweg, Sebastian ORCID iD icon 1; Szabó, Tamás
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Static typing can guide programmers if feedback is immediate. Therefore, all major IDEs incrementalize type checking in some way. However, prior approaches to incremental type checking are often specialized and hard to transfer to new type systems. In this paper, we propose a systematic approach for deriving incremental type checkers from textbook-style type system specifications. Our approach is based on compiling inference rules to Datalog, a carefully limited logic programming language for which incremental solvers exist. The key contribution of this paper is to discover an encoding of the infinite typing relation as a finite Datalog relation in a way that yields efficient incremental updates. We implemented the compiler as part of a type system DSL and show that it supports simple types, some local type inference, operator overloading, universal types, and iso-recursive types.


Verlagsausgabe §
DOI: 10.5445/IR/1000188599
Veröffentlicht am 22.12.2025
Originalveröffentlichung
DOI: 10.1145/3428195
Scopus
Zitationen: 17
Dimensions
Zitationen: 20
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsdatum 13.11.2020
Sprache Englisch
Identifikator ISSN: 2475-1421
KITopen-ID: 1000188599
Erschienen in Proceedings of the ACM on programming languages
Verlag Association for Computing Machinery (ACM)
Band 4
Heft OOPSLA
Seiten 1–28
Schlagwörter incremental type checking, datalog, type system transformation
Nachgewiesen in Scopus
Dimensions
OpenAlex
Globale Ziele für nachhaltige Entwicklung Ziel 4 – Hochwertige Bildung
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page