anchor.diff:  
   (defvar out *standard-output*)  (defvar dbg *debug-io*) (defvar err *error-output*)
   
  -;; gl:with-gl-array might remedy this!
  -;;  const float vertex-positions[] } { 0.75f, ... 1.0f, };
  -;; if *vectex-positions* isn't of type gl:gl-array (which it gets from gl:alloc-gl-array)
  -;; (gl:buffer-data .. *vector-positions*) will complain explicitly about this, and sdl2
  -;; will crash
  -
  -;; TODO: lisp builtins possible?
  -(defvar *vertex-positions* (gl:alloc-gl-array :float 12))
   ;;the alpha value seems to cause some scaling to happen...?
   (defvar *verts* #(0.75  0.75 0.0 1.0
   			0.75 -0.75 0.0 1.0
  
positive.code: 	       (sdl2:push-event :quit))
  	     (let ((k (sdl2:scancode-value keysym)))
  	       (format t "~a~%" k)))
  	    (:idle () ;;;main rendering code:
  					; (arc::update-swank) ;TODO: new slime-connect for this??
  					; (swank::handle-requests *connection* t) ;TODO, do NOT understand
  					; (swank::handle-requests (swank::default-connection) t)
  		   ;; TODO: state setting functions don't need to run every iteration
  		   ;; of the rendering loop, instead only when change is needed!!
  		   (gl:bind-buffer :array-buffer position-buffer-object)
  
negative.code:     gl_Position = position;
  }")
  
  (defvar *fragment-shader* "
  #version 330
  out vec4 outputColor;
  void main() {
  