A systematic approach to deriving incremental type checkers

19Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

Abstract

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.

Cite

CITATION STYLE

APA

Pacak, A., Erdweg, S., & Szabó, T. (2020). A systematic approach to deriving incremental type checkers. Proceedings of the ACM on Programming Languages, 4(OOPSLA). https://doi.org/10.1145/3428195

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free