This thesis—Habilitation à diriger des recherches—presents some of my research contributions since my Ph.D defense in 2008. I have had the chance to participate in the development of quantum programming languages since their early developments: the presentation aims to present my point of view on the evolution of the subject, my contributions, and the current research trends in the community. The target audience is a graduate student interested in pointers to the field of quantum programming languages.
Since 2008, the state of quantum programming has evolved tremendously. As quantum hardware moved from physical artifacts in bench labs to ready-to-use quantum coprocessors, quantum programming languages evolved from abstract mathematical principles to scalable proposals. Language designs now need to consider constraints coming from both hardware and use cases. Furthermore, novel, non-standard computational paradigms are emerging based on the possibility of considering the superposition of executions on top of the superposition of data. All of this raises exciting challenges for the years to come.
The presentation starts with a discussion of the state of the field of quantum programming language in 2008, with a discussion on the attempts at toy languages, and in particular, the quantum lambda calculus—one of my contributions before 2008. The manuscript then dives into three main subjects I have been actively involved in.
The thesis first focuses on the advent of scalable quantum programming languages. In this context, I have participated in developing Quipper, a domain-specific, circuit-description language embedded in Haskell, and Qbricks, a tool for deductive verification of quantum programs. The second main topic of the thesis consists of the semantics of quantum lambda-calculi: My contributions concern the description of semantics inspired by models of linear logic. The third part of the thesis analyses the superposition of program executions: my contributions are the quantum SWITCH, showing how this model cannot be reduced to quantum circuits, and the design of languages for programs in superposition.
The thesis concludes with a few current research trends: the rise of graphical languages, the reconciliation of quantum and classical control, the development of quantum compilation toolchains, and static analysis for quantum programs.