Many modern programming languages fit in a category called "scripting languages." These languages are especially flexible, and they allow a programmer to quickly assemble pieces of a program to solve a problem. Unfortunately, a scripting language's flexibility can also hinder the programmer's ability to develop and maintain a script when it grows into a larger program. As scripting languages have become more popular, especially with new programmers, long-term development and maintenance problems affect a growing body of programs at many layer of our computing infrastructure. This project is about smoothing the path from scripts to a more rigorous style of programming by introducing type systems into scripting languages. A type system can offer up-front guarantees about how a program will execute, and it can help isolate the effects of program modifications. Rather than imposing a particular type system, however, this project's goal is to explore a particular way of defining and customizing a type system while introducing it gradually into an existing program. The specific technical approach in this project builds on Lisp-style macros as provided by the PLT Scheme programming language.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0914759
Program Officer
Anindya Banerjee
Project Start
Project End
Budget Start
2009-07-15
Budget End
2013-06-30
Support Year
Fiscal Year
2009
Total Cost
$418,565
Indirect Cost
Name
University of Utah
Department
Type
DUNS #
City
Salt Lake City
State
UT
Country
United States
Zip Code
84112