recursion mutually recursive mutual recursion recurse recursive <mathematics, programming> When a {function} (or {procedure}) 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}: factorial 0 = 1 factorial n = n * factorial (n-1) {Functional programming languages} rely heavily on recursion, using it where a {procedural language} would use {iteration}. See also {recursion}, {recursive definition}, {tail recursion}. [{Jargon File}] (1996-05-11)