kirancodes.me
To Proof Maintenance & Beyond!

Optimizing and evaluating transient gradual typing

Michael M. Vitousek, Jeremy G. Siek, Avik Chaudhuri

Abstract

Gradual typing enables programmers to combine static and dynamic typing in the same language. However, ensuring sound interaction between the static and dynamic parts can incur runtime cost. In this paper, we analyze the performance of the transient design for gradual typing in Reticulated Python, a gradually typed variant of Python. This approach inserts lightweight checks throughout a program rather than installing proxies on higher order values. We show that, when using CPython as a host, performance decreases as programs evolve from dynamic to static types, up to a 6x slowdown compared to equivalent Python programs.

Related papers