(Under Construction) Course is organized by languages. Aug 19 - programming language landscape Aug 21 - Scheme review Aug 26 - Scheme metacircular interpreter Aug 28 - (cont) Sep 4 - functional programming idioms, warts in Scheme (HW1 due: Scheme finger exercises) Sep 9 - lazy Scheme interpreter (HW2) Sep 11 - Prolog Sep 16 Sep 18 Sep 23 Sep 25 ... Mon Dec 9 - 5:30-7:30 - FINAL EXAM ---------------------------------------------------------------- Prolog predicate calculus resolution theorem proving unification interpreter in Scheme occurs check arithmetic cut assert/retract, I/O Oaklisp Scheme + objects - redundancies (midterm) ML Scheme with syntactic sugar + type inference constructors templates and matching infix operators refs, arrays modules, functors and structures Haskell ML - impurities + laziness + more powerful type system gratuitously incompatible syntax list comprehensions monads objects Microsoft .NET support (final)