(defpackage :fwoar.triangle
(:use :cl )
(:export ))
(in-package :fwoar.triangle)
(defun alternate-source ()
(let ((alternator t))
(lambda ()
(prog1 alternator
(setf alternator (not alternator))))))
(defun print-triangle (size)
(let ((alt (alternate-source)))
(dotimes (n size)
(let ((count (1+ n)))
(dotimes (i count)
(format t "~:[0~;1~] " (funcall alt)))
(terpri)))))
#|
TRIANGLE> (print-triangle 11)
1
0 1
0 1 0
1 0 1 0
1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1 0
1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0
|#
|