15-851 (A) COMPUTATION AND DEDUCTION
Crary
12 Units
SPRING 2009
 

DESCRIPTION: We will explore the theory of programming languages using deductive systems. We will use such systems to specify, implement, and verify properties of functional and logic programming languages. The deductive approach to the specification of
programming languages has become standard practice, and one of the goals of this course is to provide a good working knowledge of how to engineer such language descriptions. Throughout the course we will use Twelf as a uniform meta-language in which we can express specification, implementation, and meta-theory of the object languages we are considering. An
implementation of Twelf and examples will be available on-line for experimentation.
 

PREREQUISITES: There are no formal pre-requisites, but an exposure to functional programming and type systems might be helpful. The course is open to enterprising undergraduates by permission of the instructor.
 

NOTES: Material connected with the course (slides, notes, source code, etc.) will be available on-line.
 

CONTACT: Crary, WeH 8127, x8-7687