anchor.diff:  ;; Common Lisp Script
   ;; Manoel Vilela -- but i not have wrote that script
   
  +(load "~/quicklisp/setup.lisp")
   (ql:quickload 'lispbuilder-sdl)
   (ql:quickload 'lispbuilder-sdl-gfx)
   (ql:quickload 'alexandria)
  - 
  +
   (defparameter *world* (make-array '(100 100) :element-type 'bit))
  - 
  +
   ;; initialize
   (defun init-world! (world)
     (loop for i from 0 to (1- (array-dimension world 0)) do
       (loop for j from 0 to (1- (array-dimension world 1)) do
         (setf (aref world i j) (if (zerop (random 7)) 1 0)))))
  - 
  +
   (defun count-neighboring-individual (i j world)
     (let ((next-i (if (= i (1- (array-dimension world 0))) 0 (1+ i)))
       (prev-i (if (= i 0) (1- (array-dimension world 0)) (1- i)))
       (next-j (if (= j (1- (array-dimension world 1))) 0 (1+ j)))
       (prev-j (if (= j 0) (1- (array-dimension world 1)) (1- j))))
  -    (+ (aref world prev-i prev-j) (aref world prev-i j) (aref world prev-i next-j)
  -       (aref world i prev-j) (aref world i next-j)
  -       (aref world next-i prev-j) (aref world next-i j) (aref world next-i next-j))))
  - 
  +    (+ (aref world prev-i prev-j)
  +       (aref world prev-i j)
  +       (aref world prev-i next-j)
  +       (aref world i prev-j)
  +       (aref world i next-j)
  +       (aref world next-i prev-j)
  +       (aref world next-i j)
  +       (aref world next-i next-j))))
  +
   ;; return next generation world
   (defun update-next-generation (world)
     (let ((next-world (alexandria:copy-array  world)))
  
positive.code:              (sdl-gfx:draw-box (sdl:rectangle :x (* i 4) :y (* j 4) :w 4 :h 4)
                                         :color sdl:*white*))))
           (sdl:update-display)))))
   
  (life)
negative.code:             (>= (count-neighboring-individual i j world) 4)))
             (setf (aref next-world i j) 0)))))
      next-world))
  
  (defun life ()
    (sdl:with-init ()
      (sdl:window 400 400) ; size of window
  