;;; file: lisp99.lisp
;;; Lisp example of "99 Bottles of beer on the wall"
(labels ((foo (x)
	   (and (<= 0 x) (cons x (foo (1- x))))))
  (format t (format nil 
		    "~~{~~&~~@(~~%~~R ~A ~A!~~)~~:*~~&~~@(~~R ~0@*~A!~~)~~&~~@(~2@*~A!~~)~~&~~@(~~[~A~~:;~~:*~~R~~:*~~] ~0@*~A!~~)~~}"
		    "bottles of beer"
		    "on the wall"
		    "take one down, pass it around"	
		    "no more"
		    )
	  (foo 99)))