CS 227 meeting -*- Outline -*- * context for learning Scheme ** Bridge from Unix *** was Unix hard to learn and use? Was it unforgiving? remember that when you design user interfaces hard to make one that is easy to use and forgiving remember the level of precision this is also a characteristic of Scheme (and other prog langs) *** Unix shell is a command interpreter reads command, does it, repeats show cp, mv, rm vs. echo cp... ** Scheme interpreter like a calculator reads expression, evaluates it, shows you its value can calculate extremely complex things, not just numbers e.g., given the current weather conditions (expression), will it rain tomorrow (value) ** Scheme programming language instructions that tell Scheme interpreter what to calculate *** parts of a language --------------------- PARTS OF A LANGUAGE Scheme English primitives: numbers, sounds, symbols, lists words means of combination: if, cond, ... grammar means of abstraction: lambda naming --------------------- we start with the primitives