Encyclopedia > Mutual recursion

  Article Content

Mutual recursion

Mutual recursion is a form of recursion where two mathematical or computational functions are defined in terms of each other.

For instance, consider two functions A(x) and B(x) defined as follows:

  A(x) = 1         (when x≤1)
  A(x) = B(x + 2)  (when x>1)

  B(x) = A(x - 3) + 4

Mutual recursion is very common in the functional programming style, and is often used for programs written in LISP, Scheme, ML, and similar languages. In languages such as Prolog, mutual recursion is almost unavoidable.

Some programming styles discourage mutual recursion, claiming that it can be confusing to distinguish the conditions which will return an answer from the conditions that would allow the code to run forever without producing an answer.



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Northwest Harbor, New York

... spread out with 25.2% under the age of 18, 4.8% from 18 to 24, 27.3% from 25 to 44, 28.7% from 45 to 64, and 13.9% who are 65 years of age or older. The median age is 41 ...

 
 
 
This page was created in 46.4 ms