This document discusses implementing a CPU emulator in Scheme. It explains that Scheme is well-suited for this because it allows getting the current continuation and returning multiple values. State transitions can be expressed as tail calls, allowing pure state transitions. The document provides code samples and diagrams demonstrating how to represent hardware components like clocks and memory in Scheme. It concludes that Scheme is a hardware description language and implementing a CPU emulator in it is an interesting way to learn about programming with continuations.