Talk:99 bottles of beer

From Rosetta Code
Revision as of 17:31, 9 December 2008 by 204.16.40.113 (talk) (New section: Common Lisp)

Syntax highlighting

What's the story with syntax highlighting? I kind of like it, but are we going to use it on tasks from now on? --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. --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)