  The classical lambda calculus may be regarded both as a programming language
and as a formal algebraic system for reasoning about computation. It provides a
computational model equivalent to the Turing machine, and continues to be of
enormous benefit in the classical theory of computation. We propose that
quantum computation, like its classical counterpart, may benefit from a version
of the lambda calculus suitable for expressing and reasoning about quantum
algorithms. In this paper we develop a quantum lambda calculus as an
alternative model of quantum computation, which combines some of the benefits
of both the quantum Turing machine and the quantum circuit models. The calculus
turns out to be closely related to the linear lambda calculi used in the study
of Linear Logic. We set up a computational model and an equational proof system
for this calculus, and we argue that it is equivalent to the quantum Turing
machine.
