Affiliation:
1. Northeastern University, Boston, MA
Abstract
When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of types in typical scripting languages means that programmers must (re)discover critical pieces of design information every time they wish to change a program. This analysis step both slows down the maintenance process and may even introduce mistakes due to the violation of undiscovered invariants.
This paper presents Typed Scheme, an explicitly typed extension of an untyped scripting language. Its type system is based on the novel notion of
occurrence typing
, which we formalize and mechanically prove sound. The implementation of Typed Scheme additionally borrows elements from a range of approaches, including recursive types, true unions and subtyping, plus polymorphism combined with a modicum of local inference. Initial experiments with the implementation suggest that Typed Scheme naturally accommodates the programming style of the underlying scripting language, at least for the first few thousand lines of ported code.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
37 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Quest Complete: The Holy Grail of Gradual Security;Proceedings of the ACM on Programming Languages;2024-06-20
2. GTP Benchmarks for Gradual Typing Performance;Proceedings of the 2023 ACM Conference on Reproducibility and Replicability;2023-06-27
3. Types, Modes and so Much More – The Prolog Way;Prolog: The Next 50 Years;2023
4. Generating Virtual Machine Code of JavaScript Engine for Embedded Systems;Journal of Information Processing;2022
5. Fully abstract from static to gradual;Proceedings of the ACM on Programming Languages;2021-01-04