www.delorie.com/gnu/docs/emacs-lisp-intro/emacs-lisp-intro_170.html   search  
Buy the book!

Programming in Emacs Lisp

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.3 Recursion

A recursive function contains code that tells the Lisp interpreter to call a program that runs exactly like itself, but with slightly different arguments. The code runs exactly the same because it has the same name. However, even though it has the same name, it is not the same thread of execution. It is different. In the jargon, it is a different `instance'.

Eventually, if the program is written correctly, the `slightly different arguments' will become sufficiently different from the first arguments that the final instance will stop.

11.3.1 Building Robots: Extending the Metaphor  Same model, different serial number ...
11.3.2 The Parts of a Recursive Definition  Walk until you stop ...
11.3.3 Recursion with a List  Using a list as the test whether to recurse.
11.3.4 Recursion in Place of a Counter  
11.3.5 Recursion Example Using cond  
11.3.6 Recursive Patterns  Often used templates.
11.3.7 Recursion without Deferments  Don't store up work ...
11.3.8 No Deferment Solution  

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003