From Scripts to Programs

Matthias Felleisen

Norteastern University

2nd June 2008, 10:00AM

Dean's conference room, 5th Floor, Engineering Building

Abstract

Like it or not, scripting languages are far more popular than programming languages that originate in academic laboratories. Most scripting languages are untyped and have a flexible semantics for primitive operations. A lot of programmers find these attributes appealing and use scripting languages for just these reasons. Reflective programmers are also beginning to notice, however, that when small untyped scripts grow old (and/or large), maintaining them becomes difficult. A lack of types means that programmers must (re)discover critical pieces of design information every time they wish to change or improve a program.

My team and I have therefore embarked on a research program that aims to solve this large and growing engineering problem with a combination of experience and tools from academic programming language research. In this talk I will present the first milestone: Typed Scheme, an explicitly typed extension of PLT Scheme, an untyped scripting language. Using Typed Scheme, programmers can add types to a code base on a module by module basis. Two factors make such transformations straightforward and useful. First, the type system is highly flexible, combining numerous academic results with the novel notion of occurrence typing. Second, the type system uses Findler's higher-order contracts to make the integration of typed and untyped modules safe.

Collaborators: Sam Tobin-Hochstadt, Ryan Culpepper

Biography

Matthias Felleisen is a professor at Northeastern University.

Host

Andrew Black