Talk:99 bottles of beer: Difference between revisions
Content added Content deleted
(syntax highlighting) |
(New section: Common Lisp) |
||
Line 3: | 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) |
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) |
: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) |