RosettaCodeData/Task/Man-or-boy-test/Common-Lisp/man-or-boy-test.lisp
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

16 lines
318 B
Common Lisp

(defun man-or-boy (x)
(a x (lambda () 1)
(lambda () -1)
(lambda () -1)
(lambda () 1)
(lambda () 0)))
(defun a (k x1 x2 x3 x4 x5)
(labels ((b ()
(decf k)
(a k #'b x1 x2 x3 x4)))
(if (<= k 0)
(+ (funcall x4) (funcall x5))
(b))))
(man-or-boy 10)