;; some recursive function definitions in Ruse (def fact (fun (n) : (if (n == 0) then 1 else (n * (fact (n - 1)))))) (print "5! is" (fact 5)) (def odd? (fun (n) : (if (n == 0) then False else (even? (n - 1))))) (def even? (fun (n) : (if (n == 0) then True else (odd? (n - 1))))) (def map (fun (f ls) : (if (null? ls) then nil else (cons (f (car ls)) (map f (cdr ls)))))) (print "odds:" (map odd? (list 1 2 3 4 5 6 7 8 8 10))) (print "evens:" (map even? (list 1 2 3 4 5 6 7 8 8 10)))