(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)