An Introduction to λ-Calculus and Functional Programming in C

The lambda calculus is a formal system, invented by Alonzo Church abut 1930(almost a hundred years ago!) used by him to describe a mathematical function as a dynamic process, and not a set theoretic static view. Why study this old stuff! Well, lambda calculus is like the 'machine code' for programming languages, being itself a 'programming language', at least, a formal system capable of pure mathematical abstraction.

MICHAELSON, G., Introduction to Functional Programming through Lambda Calculus. Addison-Wesley,1989.
CHURCH, A. The Calculi of Lambda Conversion. PRINCETON UNIVERSITY PRESS, 1941.