G7400 F'11
Set 1
Set 2
Set 3
Set 4
Set 5
Set 6
Set 7
Set 8
Set 9

Problem Set 9: The CESK Machine

Due date: 11/19 (11am) @ at the beginning of class

The goal of this problem set is to understand the CESK register machine.

Your solution should import "8provided.rkt". (Yes, the "8" is correct.)


The purpose of this problem is to develop a CESK machine for the ISWIM*s language from problem set 6. Your CESK machine must use the store to safe-keep all values.

Task 1 Encode your CESK machine in Redex.

Task 2 Define the cesk function, which uses the CESK machine to map ISWIM*s programs to answers.

Task 3 Formulate a conjecture about the relationship between eval*-s (solution for problem set 6, imported from 8provided.rkt) and cesk as a metafunction. Test the conjecture manually and with redex-check.

If testing finds a counter-example to your conjecture, formulate the counter-example as a failing test case and explain the failure with a one-line comment. Then fix those parts of your solution that broke so that the test case passes.

Task 4 Fix up your cek function from problem set 8 (task 2), formulate a conjecture about the relationship between cesk and cek, and test the conjecture with redex-check.

last updated on Tue Nov 15 15:51:00 EST 2011generated with Racket