GGrantIndex
← Search

CAREER: Gradual Typing for Industry Programming

$651,829FY2014CSENSF

Cornell University, Ithaca NY

Investigators

Abstract

Types are a structure imposed upon programming languages. As with any structure, types offer useful support, but they also impose restrictions. As such, different communities have adopted types to different degrees. This provides programmers with a wealth of options, each with their own tradeoffs. Unfortunately this diversity proves problematic when programs written in different languages need to interact. The intellectual merit of this project is a principled form for gradual typing for mixing typed and untyped code together while retaining compatibility with expectations and methodologies of industry developers. In particular, we focus on mixing statically-typed object-oriented languages using generics and variance with dynamically-typed structural object-oriented languages. The latter class includes major languages like Java, C#, and Scala, whereas the former includes JavaScript, Python, and PHP. In addition to improving the language resources for developing web technologies, the broader impact of this project also includes a plan for exploiting those technologies in order to provide an entirely online interactive program-development environment targeted towards building interactive web pages. The intent is to make programming engaging and accessible to interested individuals who solely have access to a modern web browser. In addition to improving accessibility, this educational platform, along with our industry collaborations, will help with widespread adoption of the technologies we develop.

View original record on NSF Award Search →