CS 342 Lecture -*- Outline -*- * the real LISP (section 2.5) ad: see how our LISP differs from the real LISP understand difference between langauge and style of programming ** pure LISP *** cond expressions (page 52) why are these better than only using if? *** cons cells and dotted pairs give def of cons cell dotted pair is notation allows more direct representation of trees why could this cause confusion programs? ** side-effects distinction between style of programming (pure) vs. real language *** rplaca and rplacd (mutation of cons cells) allows circular lists saves time and space *** imperative vs. applicative programming define these and pure LISP ** macros why can't user define "for" as a function? time/space tradeoffs ** garbage collection the interpreter does not salavge storage (e.g., expression trees) when they are no longer needed. real LISP does important because reclaiming storage is error-prone have to ensure no other references to a cell, how?