Talk:99 bottles of beer: Difference between revisions

From Rosetta Code
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)

Revision as of 17:31, 9 December 2008

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)