Approximate Normalization and Eager Equality Checking for Gradual Inductive Families
Joseph Eremondi, Ronald Garcia, \'Eric Tanter

TL;DR
This paper introduces a dependently-typed language with gradual typing, supporting inductive families, decidable type-checking, and smooth static-dynamic migration, using approximate normalization and eager constraint checking.
Contribution
It presents a novel approach combining approximate normalization without variable comparison and a new technique for eager constraint violation detection in gradual dependently-typed languages.
Findings
Supports inductive type families with decidable type-checking.
Ensures smooth migration between static and dynamic typing.
Provides a syntactic model demonstrating termination with inductive types.
Abstract
Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging. Gradual typing can make dependently-typed languages easier to use by mixing static and dynamic checking in a principled way. With gradual types, programmers can incrementally migrate code to a dependently typed language. However, adding gradual types to dependent types creates a new challenge: mixing decidable type-checking and incremental migration in a full-featured language is a precarious balance. Programmers expect type-checking to terminate, but dependent type-checkers evaluate terms at compile time, which is problematic because gradual types can introduce non-termination into an otherwise terminating language. Steps taken to mitigate this…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Software Engineering Research · Formal Methods in Verification
