Closure (computer programming)
In this example, the lambda expression (lambda (book) (>= (book-sales book) threshold)) is part of the function best-selling-books.  When the function is run, Scheme must make the value of the lambda. It does this by making a closure with the code for the lambda and a reference to the threshold variable, which is a free variable inside the lambda. (A free variable is a name that is not bound to a value.)