Programming Languages (CSC-302 99S)

Assignment 4: The Semantics of Scheme

Assigned: Wednesday, March 10, 1999
Due: Monday, March 15, 1999

You can use this assignment for extra credit, or to replace a poor grade on another assignment.

1. The Semantics of Lambda

In the Scheme semantics, there is a formal definition for the meaning of a standard lambda expression. Explain what that definition says (including any helper functions).

2. The Semantics of Expression Sequences

The Scheme semantics provides a definition for E*, which provides a meaning for sequences of expressions. Explain the equations that define E* and note any interesting implications.

3. ``Unused'' Helper Functions

A number of the helper functions from the Scheme semantics, such as cwcc, don't seem to appear in the definitions of the various meaning functions. List as many of these helper functions as you can, and explain why the semantics includes them.

4. Truish

The equation that gives the meaning of conditional (if) expressions uses a helper called truish. Explain the name and purpose of truish.

5. Cond Statements

Describe how the meaning of cond statements is given by the Scheme semantics, and what that meaning is.

Disclaimer Often, these pages were created ``on the fly'' with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

This page may be found at

Source text last modified Wed Mar 10 14:41:44 1999.

This page generated on Wed Apr 7 16:40:53 1999 by SiteWeaver. Validate this page's HTML.

Contact our webmaster at