anchor.diff:  
   (defmethod glut:display ((w nbody-window))
     (with-slots (new-pos old-pos vel delta-time damping num-bodies p) w
  -    (update new-pos old-pos vel delta-time damping num-bodies p)
  -    (display old-pos num-bodies)
  -    (rotatef new-pos old-pos)))
  +    ;; update simulation
  +    (nbody-demo-update-simulation new-pos old-pos vel delta-time damping num-bodies p)
  +    (rotatef new-pos old-pos)
  +    ;; clear buffers
  +    (gl:clear :color-buffer :depth-buffer-bit)
  +    ;; view transform
  +    (gl:matrix-mode :modelview)
  +    (gl:load-identity)
  +    (gl:translate 0.0 0.0 -100.0)
  +    (gl:rotate 0.0 1.0 0.0 0.0)
  +    (gl:rotate 0.0 0.0 1.0 0.0)
  +    ;; display bodies
  +    (nbody-demo-display new-pos num-bodies)
  +    ;; swap buffers
  +    (glut:swap-buffers)
  +    ;; display frame rate
  +    (display-frame-rate num-bodies)))
   
   (defmethod glut:reshape ((w nbody-window) width height)
     ;; configure on projection mode
  
positive.code:           (create-timer-events)
            ,@body)
       (destroy-timer-events)))
  
  
  ;;;
  
negative.code:         (start-timer)
          ;; start glut main loop
          (glut:display-window window))))))
  
  (defun not-implemented ()
    (error "not implemented."))
  