JavaScript: the first 20 years

A Wirfs-Brock, B Eich - Proceedings of the ACM on Programming …, 2020 - dl.acm.org
How a sidekick scripting language for Java, created at Netscape in a ten-day hack, ships first
as a de facto Web standard and eventually becomes the world's most widely used …

A spectrum of type soundness and performance

B Greenman, M Felleisen - Proceedings of the ACM on Programming …, 2018 - dl.acm.org
The literature on gradual typing presents three fundamentally different ways of thinking
about the integrity of programs that combine statically typed and dynamically typed code …

Gradual soundness: Lessons from static python

KC Lu, B Greenman, C Meyer, D Viehland… - arXiv preprint arXiv …, 2022 - arxiv.org
Context: Gradually-typed languages allow typed and untyped code to interoperate, but
typically come with significant drawbacks. In some languages, the types are unreliable; in …

How to evaluate blame for gradual types

L Lazarek, B Greenman, M Felleisen… - Proceedings of the ACM …, 2021 - dl.acm.org
Programming language theoreticians develop blame assignment systems and prove blame
theorems for gradually typed programming languages. Practical implementations of gradual …

Highly illogical, Kirk: spotting type mismatches in the large despite broken contracts, unsound types, and too many linters

J Hoeflich, RB Findler, M Serrano - Proceedings of the ACM on …, 2022 - dl.acm.org
The DefinitelyTyped repository hosts type declarations for thousands of JavaScript libraries.
Given the lack of formal connection between the types and the corresponding code, a …

Trace contracts

C Moy, M Felleisen - Journal of Functional Programming, 2023 - cambridge.org
Behavioral software contracts allow programmers to strengthen the obligations and
promises that they express with conventional types. They lack expressive power, though …

Typed–Untyped Interactions: A Comparative Analysis

B Greenman, C Dimoulas, M Felleisen - ACM Transactions on …, 2023 - dl.acm.org
The literature presents many strategies for enforcing the integrity of types when typed code
interacts with untyped code. This article presents a uniform evaluation framework that …

On the cost of type-tag soundness

B Greenman, Z Migeed - Proceedings of the ACM SIGPLAN Workshop …, 2017 - dl.acm.org
Gradual typing systems ensure type soundness by transforming static type annotations into
run-time checks. These checks provide semantic guarantees, but may come at a large cost …

Corpse reviver: sound and efficient gradual typing via contract verification

C Moy, PC Nguyễn, S Tobin-Hochstadt… - Proceedings of the ACM …, 2021 - dl.acm.org
Gradually typed programming languages permit the incremental addition of static types to
untyped programs. To remain sound, languages insert run-time checks at the boundaries …

The dynamic practice and static theory of gradual typing

M Greenberg - 3rd Summit on Advances in Programming …, 2019 - drops.dagstuhl.de
We can tease apart the research on gradual types into twolineages': a pragmatic,
implementation-oriented dynamic-first lineage and a formal, type-theoretic, static-first …