(defparameter *day17-rocks* (list (make-array '(1 4) :element-type 'boolean :initial-contents '((T T T T))) (make-array '(3 3) :element-type 'boolean :initial-contents '((NIL T NIL) ( T T T ) (NIL T NIL))) (make-array '(3 3) :element-type 'boolean :initial-contents '((NIL NIL T ) (NIL NIL T ) ( T T T ))) (make-array '(4 1) :element-type 'boolean :initial-contents '((T) (T) (T) (T))) (make-array '(2 2) :element-type 'boolean :initial-contents '((T T) (T T))))) (defun day17-print-rock (rock) (loop with (height width) = (array-dimensions rock) for row from 0 below height do (loop for col from 0 below width do (format T "~a" (if (aref rock row col) #\# #\.))) do (format T "~%")))