Hi Doug: in your thesis you jump too quickly into Scheme. You say that the two main ingredients are open classes and predicate dispatch and then you switch into Scheme mode of explanation. Please give a more detailed high-level description of a Socrates-like programming language, before referring to your Scheme prototype. Such a language has messages, decision points, classes, branches (replaces methods and advice), etc. This description might be 2 or 3 pages but it describes the key ideas behind Socrates without mixing them with Scheme issues: proper separation of concerns. -- Karl Sep. 2, 2004