The Spirit in the Computer
More Resources

SICP at Berkeley

Berkeley also run a course based on Structure and Interpretation of Computer Programs. http://www-inst.eecs.berkeley.edu/~cs61a/sp06/

The Lectures are Available online here

Some interesting stuff on queues

Here are two interesting papers regarding the implementation of queues:

Termite Scheme

Functional programming seems a good starting point for parallelisation—that is, exploiting multiple processor architectures. Termite Scheme tries to implement Erlang style parallel programming in Scheme. Try googling for termite scheme

Here are a couple of links Holger found earlier:

Co-routines in Scheme

The Scheme Programming Language provides an elegant implementation of co-routines implemented entirely in Scheme.

http://www.scheme.com/tspl3/examples.html#./examples:h11

How’s this for an exercise?

Exercise 9.11.4 Implement the kernel of a small operating system using engines for processes. Processes should request services (such as reading input from the user) by evaluating an expression of the form (trap ‘request). Use call/cc and engine-return from the preceding exercise to implement trap.

Adding syntax to Scheme (defining macros)

Some examples of / tutorials on define-syntax:

Scheme in Scheme

Regarding stuff from chapter 4 (implementing a scheme interpreter):