Compilation started at Wed Nov 14 12:42:13 make -k parens fact.lisp 20 parentheses, braces, brackets, angle-brackets ,semi-colons, commas fact.c 31 parentheses, braces, brackets, angle-brackets ,semi-colons, commas ==== fact.lisp ==== (defun fact (x) (if (zerop x) 1 (* x (fact (1- x))))) (format t "~%~D! = ~D~%" 42 (fact 42)) (quit) ==== fact.c ==== #include <stdio.h> int fact(int x){ return((0==x)?1:(x*(fact(x-1))));} int main(){ printf("\n%d! = %d\n",42,fact(42)); return(0);} Compilation finished at Wed Nov 14 12:42:13
And yet, this is C with lisp style. In any project with coding guidelines, you'd have to write:
if(0==x){ return (1); }else{ return (x*fact(x-1)); }
increasing the count of braces...
Not that I want to play parenthesis golf with you...
(defun fact (n) (loop for i from n downto 1 for x = n then (* x i) maximize x))
(maximize is definitely a bit of a hack - should really be finally (return x) but that'd be another pair of parens)
maximize
finally (return x)
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
And yet, this is C with lisp style. In any project with coding guidelines, you'd have to write:
increasing the count of braces...
Not that I want to play parenthesis golf with you...
(
maximize
is definitely a bit of a hack - should really befinally (return x)
but that'd be another pair of parens)