CS 342 Lecture -*- Outline -*- * the Smalltalk interpreter ** differences from CLU (page 292) values are tagged with their class see STVALUEREC owner field on page 293, vs. CLUVALUEREC on page 222 symbols representation (instance variable list in clrep under CLASSREC p. 293) has to deal with inheritance application of functions looks in global function environment after class hierarchy special treatment of new setting self (inherited from object as an instance variable) must build top-level environment with true, false, and Object ** details DRAW PICTURES *** data structures (p. 293) objects have: owner (class) vtype (kind of value) userval (environment giving fields, including self) ints and symbols have Object as their class, but special vtype. look at the 3 kinds of records on page 293, give examples with sets or stacks. start from the classes variable and show what the system looks like *** evaluation (p. 295) evaluation takes a recieving object as 3rd argument (was cluster in CLU) variables: look first for formals, then instance variables, then globals evaluation of applications (code on page 296) control operations can't be redefined value-ops can be defined as messages global functions last case, unless 0 arguments what does method lookup do (p. 296)? newop makes self point to the object *** initialization (page 297) How to define Object as a class? can't so it must be built-in.