calls itself. Such a function is called "recursive". If the
call is via one or more other functions then this group of
functions are called "mutually recursive".
If a function will always call itself, however it is called,
then it will never terminate. Usually however, it first
performs some test on its arguments to check for a "base case"
- a condition under which it can return a value without
calling itself.
The
canonical example of a recursive function is
factorial 0 = 1
factorial n = n * factorial (n-1)
(1996-05-11)