EVIL BUG SQUASHED..ahem. I had an issue where if you recompiled
any of the programs in examples 3-7 the object you were rendering
would disappear. There was a perfectly logical answer in that,
when you recompile you obviously reset all the uniforms. As the
only place that some of the uniforms were set was in the reshape
command the mesh was invisible until reshape was called.
To handle this issue you can now specify a section in defprogram
called :post-compile. This is a lisp code that will be executed
once the program is compiled (which is normally when it is first
called)
This is how you can use it:

(cgl:defprogram prog-2
    ((vert vert-data) &uniform (cam-to-clip :mat4)
     (world-to-cam :mat4) (model-to-world :mat4))
  (:vertex (setf gl-position (* cam-to-clip
				(* world-to-cam
				   (* model-to-world
				      (vec4 (vert-data-position vert) 1.0)))))
           (out (interp-color :smooth) (vert-data-color vert)))
  (:fragment (out output-color interp-color))
  (:post-compile (reshape 640 480)))

Simple!
Right, I need some food, seeya.
Merge branch 'master' of github.com:cbaggers/cepl