During the past two decades, developers have turned to a new breed of computer languages that increase productivity for the programmers but which don’t feature enough safety checks to ensure the program will avoid failures once released. Gradual typing, an approach to programming developed by Siek, Tobin-Hochstadt, and others more than a decade ago, creates the framework for a hybrid language that allows parts of a program to be dynamically typed while other parts are statically typed. The hybrid language blends rapid production with the ability to add safety checks gradually to create quick, stable software production.

The grant will allow Tobin-Hochstadt and Siek to explore ideas to eliminate performance bottlenecks and improve the performance of gradual typing.

“We want gradual typing to be a part of every programmer's toolbox,” Tobin-Hochstadt said. “Our work on gradual typing has already seem major uptake in industry—this week Facebook announced a new gradual type system for Python—and we hope that this grant will enable more people to use gradual typing in more places. It also will support several excellent Ph.D. students at IU. It cements IU’s place as the top destination for gradual typing research.”

The project aims to build a just-in-time compiler that makes gradually-typed programs faster as well as building a new compiler to study gradual typing-related optimizations. The duo also hopes to improve their existing languages, Typed Racket and Reticulated Python.

“Right now, using gradual typing can incur substantial performance costs, which is one thing holding back adoption in widely-used languages,” Tobin-Hochstadt said. “Our research aims to reduce or totally eliminate these costs making programs faster with gradual types.”

The grant is part of a $1.192 million collaboration with Northeastern University. IU’s portion of the funding—more than $740,000—will support and accelerate the research being conducted by Tobin-Hochstadt and Siek.

“This work is a continuation of the world-class research in programming languages in our school,” said Kay Connelly, associate dean for research at SICE. “I’m thrilled to see our continued leadership in this area.”

For more information on programming languages and computer science research at SICE, visit our website.