  One perspective on quantum algorithms is that they are classical algorithms
having access to a special kind of memory with exotic properties. This
perspective suggests that, even in the case of quantum algorithms, the control
flow notions of sequencing, conditionals, loops, and recursion are entirely
classical. There is however, another notion of control flow, that is itself
quantum. The notion of quantum conditional expression is reasonably
well-understood: the execution of the two expressions becomes itself a
superposition of executions. The quantum counterpart of loops and recursion is
however not believed to be meaningful in its most general form.
  In this paper, we argue that, under the right circumstances, a reasonable
notion of quantum loops and recursion is possible. To this aim, we first
propose a classical, typed, reversible language with lists and fixpoints. We
then extend this language to the closed quantum domain (without measurements)
by allowing linear combinations of terms and restricting fixpoints to
structurally recursive fixpoints whose termination proofs match the proofs of
convergence of sequences in infinite-dimensional Hilbert spaces. We
additionally give an operational semantics for the quantum language in the
spirit of algebraic lambda-calculi and illustrate its expressiveness by
modeling several common unitary operations.
