Lisp (programming language)
Because Lisp is a functional language, Lisp programs often use recursion to solve problems. Here is a Scheme program that finds the factorial of a number. The function (factorial n) starts by testing if  or not. If , then (factorial 0) is 1. If , then (factorial n) returns the product of  and the factorial of .