Lecture 13 Summary, CSE 341, Spring 2004 Intro to Scheme and the DrScheme environment Note: DrScheme is easy to install and use -- set the language to PLT->MzScheme (textual) though we won't do too much specific to MzScheme Why Scheme? * very minimal and regular syntax * functional * dynamically typed * programs as data * advanced features: good macros, continuations, etc. Syntax in 5 minutes * atoms and S-expressions * "special forms" just have different evaluation rules * Note: parenthesis-bashing has waned after XML Basic expressions and function definitions Lots of ways to introduce bindings * let, let*, letrec, local (with define) * great for understanding the different options and why useful Lists * cons, car, cdr, null? * heterogeneous (e.g. ropes there already) DrScheme notes: * generally more beginner friendly than emacs / SML * REP-loop automatically restarts when you re-execute