Gradual soundness: Lessons from static python
KC Lu, B Greenman, C Meyer, D Viehland… - ar**
The promise of gradual ty** is that programmers should get the best of both worlds: the
static guarantees of static types, and the dynamic flexibility of untyped programming. This is …
static guarantees of static types, and the dynamic flexibility of untyped programming. This is …
Typed–Untyped Interactions: A Comparative Analysis
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 …
interacts with untyped code. This article presents a uniform evaluation framework that …
Optimizing and evaluating transient gradual ty**
Gradual ty** enables programmers to combine static and dynamic ty** in the same
language. However, ensuring sound interaction between the static and dynamic parts can …
language. However, ensuring sound interaction between the static and dynamic parts can …
How Profilers Can Help Navigate Type Migration
Sound migratory ty** envisions a safe and smooth refactoring of untyped code bases to
typed ones. However, the cost of enforcing safety with run-time checks is often prohibitively …
typed ones. However, the cost of enforcing safety with run-time checks is often prohibitively …
Deep and shallow types for gradual languages
B Greenman - Proceedings of the 43rd ACM SIGPLAN International …, 2022 - dl.acm.org
Sound gradual types come in many forms and offer varying levels of soundness. Two
extremes are deep types and shallow types. Deep types offer compositional guarantees but …
extremes are deep types and shallow types. Deep types offer compositional guarantees but …
A transient semantics for typed racket
B Greenman, L Lazarek, C Dimoulas… - ar**, type soundness guarantees the safety of typed code. When
untyped code fails to respect types, a runtime check finds the discrepancy. As for untyped …
untyped code fails to respect types, a runtime check finds the discrepancy. As for untyped …
Transitioning from structural to nominal code with efficient gradual ty**
Gradual ty** is a principled means for mixing typed and untyped code. But typed and
untyped code often exhibit different programming patterns. There is already substantial …
untyped code often exhibit different programming patterns. There is already substantial …