Previous Next Table of Contents

1. Introduction

Although the lambda calculus is limited in the sense that there are very few built-in operations it can perform, it is powerful because the operations it has are sufficient enough to provide universal computability. For this project you will develop an interpreter for the lambda calculus and write some small programs in it.

1.1 New Skills Required

1.2 Goals

This project is to help you become better acquainted with the lambda calculus. The simplicity of its reduction rules will become apparent from coding them in ML. ML's pattern matching provides an ideal mechanism for implementing a list of reduction rules.

1.3 Position

This interpreter will be the basis for a combinator interpreter, which, later on, will be the target back end for a lambda calculus to combinator compiler.

1.4 Time

You have one week to complete this project.

1.5 Value

This project is worth 10+ points (minimally working = 6, reasonably complete = 10, extra > 10).

1.6 Hand In

Hand in your source files and README or readme.html file.


Previous Next Table of Contents