Proto-Quipper with Dynamic Lifting
Peng Fu, Kohei Kishida, Neil J. Ross, Peter Selinger
Abstract
Quipper is a functional programming language for quantum computing. Proto-Quipper is a family of languages aiming to provide a formal foundation for Quipper. In this paper, we extend Proto-Quipper-M with a construct called dynamic lifting , which is present in Quipper. By virtue of being a circuit description language, Proto-Quipper has two separate runtimes: circuit generation time and circuit execution time. Values that are known at circuit generation time are called parameters , and values that are known at circuit execution time are called states . Dynamic lifting is an operation that enables a state, such as the result of a measurement, to be lifted to a parameter, where it can influence the generation of the next portion of the circuit. As a result, dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation. We describe the syntax of a language we call Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of the use of dynamic lifting. We also provide an operational semantics, as well as an abstract categorical semantics for dynamic lifting based on enriched category theory. We prove that both the type system and the operational semantics are sound with respect to our categorical semantics. Finally, we give some examples of Proto-Quipper-Dyn programs that make essential use of dynamic lifting.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers6
- Linear Dependent Type Theory for Quantum Programming Languages: Extended AbstractPeng Fu, Kohei Kishida, Peter SelingerLICS 2020 · 23 citations
- Flexible Type-Based Resource Estimation in Quantum Circuit Description LanguagesAndrea Colledan, Ugo Dal LagoPOPL 2025 · 3 citations
- Qudit Quantum Programming with Projective CliffordsJennifer Paykin, Sam WinnickPOPL 2026 · 1 citation
- The Relational Machine CalculusChris Barrett, Daniel Castle, Willem HeijltjesLICS 2024 · 1 citation
- Quantum Circuits Are Just a PhaseChris Heunen, Louis Lemonnier, Christopher McNally, Alex RicePOPL 2026
Builds on2
- Silq: a high-level quantum language with safe uncomputation and intuitive semanticsBenjamin Bichsel, Maximilian Baader, Timon Gehr, Martin T. VechevPLDI 2020 · 145 citations
- Linear Dependent Type Theory for Quantum Programming Languages: Extended AbstractPeng Fu, Kohei Kishida, Peter SelingerLICS 2020 · 23 citations
Related papers
- On Circuit Description Languages, Indexed Monads, and Resource AnalysisKen Sakayori, Andrea Colledan, Ugo Dal LagoPOPL 2026
- Semantics for variational Quantum programmingXiaodong Jia, Andre Kornell, Bert Lindenhovius, Michael W. Mislove et al.POPL 2022 · 15 citations
- Enriched Presheaf Model of Quantum FPCTakeshi Tsukada, Kazuyuki AsadaPOPL 2024 · 6 citations
- Qunity: A Unified Language for Quantum and Classical ComputingFinn Voichick, Liyi Li, Robert Rand, Michael HicksPOPL 2023 · 35 citations
- A verified optimizer for Quantum circuitsKesha Hietala, Robert Rand, Shih-Han Hung, Xiaodi Wu et al.POPL 2021 · 111 citations
