Talk:99 bottles of beer: Difference between revisions

New section: Common Lisp
(syntax highlighting)
(New section: Common Lisp)
Line 3:
What's the story with syntax highlighting? I kind of like it, but are we going to use it on tasks from now on? --[[User:Mwn3d|Mwn3d]] 12:23, 28 February 2008 (MST)
:I'm ambivalent until we have more/better language support. However, if other folks don't find having some languages supported while others aren't, then I wouldn't mind seeing its use expanded. NevilleDNZ was going to work on on a means of importing Vim syntax highlighting scripts so that the syntax highlighter could be extended. I'd be curious how that's coming. --[[User:Short Circuit|Short Circuit]] 21:02, 28 February 2008 (MST)
 
== Common Lisp ==
 
The Common Lisp solution is ... not very good!
* there's some wiki quoting/escaping/formatting issue with "defun"
* it uses (- x 1), where (1- x) is shorter and probably more idiomatic
* it uses (> .. 0) instead of zerop
* it uses a 1-form if instead of when
* it's recursive when it really doesn't need to be
* it uses massive indentation
* it says "1 bottles of beer", when it's trivial to say "1 bottle of beer"
* it uses ~a (any text) instead of ~d (integer) for printing integers
* it doesn't leave a line between verses
 
(defun bottle (n)
(format t "~D bottle~:P of beer on the wall~%" n)
(format t "~D bottle~:P of beer~%" n)
(format t "Take one down, pass it around,~%")
(format t "~D bottle~:P of beer on the wall~%~%" (1- n) (1- n)))
(defun bottles (x)
(loop for i from x downto 1 do (bottle i)))
(bottles 99)
Anonymous user