title: Why is it called "open (or closed) recursion?
body: <p>I found some explanations of open/closed recursion, but I do not understand why the definition contains the word "recursion", or how it compares with dynamic/static dispatching. Among the explanations I found, there are:</p>
  
  <blockquote>
    <p><strong>Open recursion.</strong> Another handy feature offered by most
    languages with objects and classes is the ability for one method
    body to invoke another method of the same object via a special
    variable called <code>self</code> or, in some languages, <code>this</code>. The special
    behavior of self is that it is late-bound, allowing a method defined
    in one class to invoke another method that is defined later, in
    some subclass of the first. [<a href="http://www.cs.ox.ac.uk/people/ralf.hinze/talks/Open.pdf" rel="noreferrer">Ralf Hinze</a>]</p>
  </blockquote>
  
  <p>... or in <a href="http://en.wikipedia.org/wiki/This_(computer_programming)#Open_recursion" rel="noreferrer">Wikipedia</a> :</p>
  
  <blockquote>
    <p>The dispatch semantics of <code>this</code>, namely that method calls on this are dynamically dispatched, is known as <strong>open recursion</strong>, and means that these methods can be overridden by derived classes or objects. By contrast, direct named recursion or anonymous recursion of a function uses <strong>closed recursion</strong>, with early binding. </p>
  </blockquote>
  
  <p>I also read the StackOverflow question: <a href="https://stackoverflow.com/questions/6089086/what-is-open-recursion">What is open recursion?</a></p>
  
  <p>But I do not understand why the word "recursion" is used for the definition. Of course, it can lead to interesting (or dangerous) side-effect if one uses "open recursion" by doing... a method recursion call. But the definitions do not take method/function recursive call directly into account (appart the "closed recursion" in the Wikipedia definition, but it sounds strange since "open recursion" does not refer to recursive call).</p>
  
  <p>Do you know why there is the word "recursion" in the definition? Is it because it is based on another computer science definition that I am not aware of? Should simply saying "dynamic dispatch" not be enough?</p>