Affiliation:
1. Northwestern University, USA
2. Brown University, USA
3. Northeastern University, USA
Abstract
Equipping an existing programming language with a gradual type system
requires two major steps. The first and most visible one in academia
is to add a notation for types and a type checking apparatus. The second, highly
practical one is to provide a type veneer for the large number of
existing untyped libraries; doing so enables typed components
to import pieces of functionality and get their
uses type-checked, without any changes to the libraries. When programmers create such typed veneers for
libraries, they make mistakes that persist and cause
trouble. The question is whether the academically investigated
run-time checks for gradual type systems assist programmers with
debugging such mistakes. This paper provides a first, surprising
answer to this question via a rational-programmer investigation:
run-time checks alone are typically less helpful than the safety checks of the underlying language.
Combining Natural run-time checks with blame, however, provides
significantly superior debugging hints.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Gradually Typed Languages Should Be Vigilant!;Proceedings of the ACM on Programming Languages;2024-04-29