Programming Paradigms Introduction to Functional Programming in Scheme
Functions as first class values
A function object is a first class citizen
A first class citizen is an entity which can be (1) passed as parameter to functions, (2) returned as a result from a function, and
(3) organized as parts of data structures