Lisp : (define fact (lambda (n) (if (<= n 1) 1 (* n (fact (- n 1))))))
need more efforts to refactor the code and fix the memory leak issue