On Quantum Programming Languages
De l’étude des langages de programmations quantiques
Résumé
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.
Cette thèse présente mes contributions à la recherche depuis la soutenance de mon doctorat en 2008. J’ai eu la chance de participer au développement des langages de programmation quantique depuis le début : le document a pour but de présenter mon point de vue sur l’évolution du sujet, mes contributions, et les tendances actuelles dans la communauté. Le document est destiné à un doctorant spécialisé dans les méthodes formelles. Depuis 2008, la programmation quantique a énormément évolué. Alors que le matériel est passé d’expériences en laboratoire à des coprocesseurs quantiques prêts à l’emploi, les langages quantique sont passés de principes mathématiques abstraits à des environnements de développement complet. Leur conception doit désormais tenir compte du matériel ainsi que des cas d’usage. En outre, de nouveaux paradigmes de calcul non standard émergent, basés sur la possibilité de considérer la superposition des exécutions en plus de la superposition des données. Tout cela soulève des défis passionnants pour l’avenir. La présentation commence par discuter l’état du domaine en 2008, avec une discussion sur les différentes approches telle que le lambda-calcul quantique—l’une de mes contributions avant 2008. Le manuscrit se penche ensuite sur trois sujets pour lesquels j’ai été activement impliqué. La thèse se concentre d’abord sur l’avènement de langages de programmation quantique évolutifs. Dans ce contexte, j’ai participé au développement de Quipper, un langage de description de circuits inscrit dans Haskell, et de Qbricks, un outil de vérification déductive de programmes quantiques. Le deuxième thème principal de la thèse est la sémantique des lambda-calculs quantique : mes contributions concernent la description de sémantiques inspirées par des modèles de logique linéaire. La troisième partie de la thèse analyse la superposition d’exécutions de programmes : mes contributions sont le SWITCH quantique, montrant comment ce modèle ne peut pas être réduit à des circuits quantiques, et la conception de langages pour des programmes en superposition. La thèse se termine par quelques tendances actuelles de la recherche : l’essor des langages graphiques, l’unification des contrôles quantiques et classiques, le développement de chaînes d’outils de compilation quantique, et l’analyse statique pour les programmes quantiques.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|---|
Licence |