Implementing a scheme interpreter

This report describes an implementation of a programming language, SCHEME, as well as a variety of applications. SCHEME is a member of the LISP family of languages. The software engineering methodology is fully explained and is one of the most important aspects of this report. Two major applications are covered in some detail. First, a rapid prototype of an experimental programming language, PCF is developed. Second, an embedded logic programming language is discussed. A natural language processor running under the logic programming language is presented. Code for the interpreter and applications are included in the appendices.