Introduction to Functional Programming in Scheme - slide 30 : 49
Function objects
A function object represents a function at run time. A function object is created as the value of a lambda expression
A function object is also known as a closure.
Characteristics of function objects:
First class
A function object can be
passed as a parameter to a function,
returned as the result from another function, and
organized as a constituent of a data structure
Anonymous
Does not have a name
Closure
Free names are captured in the context of the lambda expression
Static binding of free names
A closure is represented as a pair of the syntactical form of the function and values of free names
Callable
A function object can be applied on actual parameters