Programming in Scheme : learn Scheme through artificial intelligence programs - Watson, Mark (Springer, 1996)