Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

QuaFL

Andrei Lapets, Marcus Palmer Da Silva, Mike Thome, Aaron Adler, Jacob Beal, Martin Roetteler

Published Sep 17, 2013• 17 citations
Publisher

Abstract

Quantum computers represent a novel kind of programmable hardware with properties and restrictions that are distinct from those of classical computers. We investigate how some existing abstractions and programming language features developed within the programming languages community can be adapted to expose the unique capabilities of quantum computers to programmers while at the same time allowing them to manage the new and unfamiliar constraints of programming a quantum device.

DOI
10.1145/2505351.2505357

Related papers

Programming Languages

Noson S. Yanofsky, Mirco A. Mannucci

The computer programmer is a creator of universes for which he alone is the lawgiver … universes of virtually unlimited complexity can be created in the form of computer programs. … They compliantly obey their laws and vividly exhibit their obedient behavior. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or a field of battle and to command such unswervingly dutiful actors or troops. J. Weizmann, Computer Power and Human Reason: From Judgement to Calculation In this chapter we are going to describe quantum programming , i.e., the art and science of programming a quantum computer. In Section 7.1, we briefly sketch what it means to program a quantum computing device. Section 7.2 covers a simple version of quantum assembler, based on the so-called QRAM architecture. Section 7.3 describes possible steps leading to higher-level programming languages and constructs. We conclude this chapter with Section 7.4, a short discussion on quantum emulators. PROGRAMMING IN A QUANTUM WORLD As you are about to read this chapter, you have undoubtedly been exposed to computer programming in a variety of flavors, and are perhaps already an accomplished programmer of real-life applications. Programming a classical machine carries an immediate, unambiguous sense. However, we are going to leave the familiar world of binary chips, and learn how to program some as yet unspecified quantum hardware.

Cambridge University Press eBooks•Aug 11, 2008•0 citations

Toward an architecture for quantum programming

It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of classical and quantum computation. This paper investigates a possible approach to the problem of programming such machines: a template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives. The underlying scheme involves a run-time environment which calculates the byte-code for the quantum operations and pipes it to a quantum device controller or to a simulator. This language can compactly express existing quantum algorithms and reduce them to sequences of elementary operations; it also easily lends itself to automatic, hardware independent, circuit simplification. A publicly available preliminary implementation of the proposed ideas has been realized using the C++ language. 1 Quantum programming

•Jan 1, 2008•0 citations

Toward a universal quantum programming language

Jens Palsberg

Quantum computing may be more powerful than classical computing, but it has a radically different programming model. While current languages are in their infancy and future languages are likely to be different, now is a great time for language designers and implementers to try new ideas.

XRDS Crossroads The ACM Magazine for Students•Sep 17, 2019•4 citations

Quingo: A Programming Framework for Heterogeneous Quantum-Classical Computing with NISQ Features

The Quingo Development Team

The increasing control complexity of Noisy Intermediate-Scale Quantum (NISQ) systems underlines the necessity of integrating quantum hardware with quantum software. While mapping heterogeneous quantum-classical computing (HQCC) algorithms to NISQ hardware for execution, we observed a few dissatisfactions in quantum programming languages (QPLs), including difficult mapping to hardware, limited expressiveness, and counter-intuitive code. Also, noisy qubits require repeatedly performed quantum experiments, which explicitly operate low-level configurations, such as pulses and timing of operations. This requirement is beyond the scope or capability of most existing QPLs. We summarize three execution models to depict the quantum-classical interaction of existing QPLs. Based on the refined HQCC model, we propose the Quingo framework to integrate and manage quantum-classical software and hardware to provide the programmability over HQCC applications and map them to NISQ hardware. We propose a six-phase quantum program life-cycle model matching the refined HQCC model, which is implemented by a runtime system. We also propose the Quingo programming language, an external domain-specific language highlighting timer-based timing control and opaque operation definition, which can be used to describe quantum experiments. We believe the Quingo framework could contribute to the clarification of key techniques in the design of future HQCC systems.

arXiv:2009.01686•Sep 2, 2020•0 citations

Quingo: A Programming Framework for Heterogeneous Quantum-Classical Computing with NISQ Features

Xiang Fu, Jintao Yu, Xing Su +20 more

The increasing control complexity of Noisy Intermediate-Scale Quantum (NISQ) systems underlines the necessity of integrating quantum hardware with quantum software. While mapping heterogeneous quantum-classical computing (HQCC) algorithms to NISQ hardware for execution, we observed a few dissatisfactions in quantum programming languages (QPLs), including difficult mapping to hardware, limited expressiveness, and counter-intuitive code. In addition, noisy qubits require repeatedly performed quantum experiments, which explicitly operate low-level configurations, such as pulses and timing of operations. This requirement is beyond the scope or capability of most existing QPLs. We summarize three execution models to depict the quantum-classical interaction of existing QPLs. Based on the refined HQCC model, we propose the Quingo framework to integrate and manage quantum-classical software and hardware to provide the programmability over HQCC applications and map them to NISQ hardware. We propose a six-phase quantum program life-cycle model matching the refined HQCC model, which is implemented by a runtime system. We also propose the Quingo programming language, an external domain-specific language highlighting timer-based timing control and opaque operation definition, which can be used to describe quantum experiments. We believe the Quingo framework could contribute to the clarification of key techniques in the design of future HQCC systems.

ACM Transactions on Quantum Computing•Dec 21, 2021•23 citations

Quantum Computing. (II.Quantum Computer Languages)

I. Bolesta, Олексій Кушнір, Serhiy Velhosh +1 more

The programming languages that can be used to write the program code when using quantum computers are reviewed.The prospects of using such languages from the point of view of integrating them into software complexes that are convenient for the developer are discussed.

•Jan 1, 2018•0 citations
Quantum computers represent a novel kind of programmable hardware with properties and restrictions that are distinct from those of classical computers. We investigate how some existing abstractions and programming language features developed within the programming languages community can be adapted to expose the unique capabilities of quantum computers to programmers while at the same time allowing them to manage the new and unfamiliar constraints of programming a quantum device.
The computer programmer is a creator of universes for which he alone is the lawgiver … universes of virtually unlimited complexity can be created in the form of computer programs. … They compliantly obey their laws and vividly exhibit their obedient behavior. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or a field of battle and to command such unswervingly dutiful actors or troops. J. Weizmann, Computer Power and Human Reason: From Judgement to Calculation In this chapter we are going to describe quantum programming , i.e., the art and science of programming a quantum computer. In Section 7.1, we briefly sketch what it means to program a quantum computing device. Section 7.2 covers a simple version of quantum assembler, based on the so-called QRAM architecture. Section 7.3 describes possible steps leading to higher-level programming languages and constructs. We conclude this chapter with Section 7.4, a short discussion on quantum emulators. PROGRAMMING IN A QUANTUM WORLD As you are about to read this chapter, you have undoubtedly been exposed to computer programming in a variety of flavors, and are perhaps already an accomplished programmer of real-life applications. Programming a classical machine carries an immediate, unambiguous sense. However, we are going to leave the familiar world of binary chips, and learn how to program some as yet unspecified quantum hardware.
It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of classical and quantum computation. This paper investigates a possible approach to the problem of programming such machines: a template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives. The underlying scheme involves a run-time environment which calculates the byte-code for the quantum operations and pipes it to a quantum device controller or to a simulator. This language can compactly express existing quantum algorithms and reduce them to sequences of elementary operations; it also easily lends itself to automatic, hardware independent, circuit simplification. A publicly available preliminary implementation of the proposed ideas has been realized using the C++ language. 1 Quantum programming
The increasing control complexity of Noisy Intermediate-Scale Quantum (NISQ) systems underlines the necessity of integrating quantum hardware with quantum software. While mapping heterogeneous quantum-classical computing (HQCC) algorithms to NISQ hardware for execution, we observed a few dissatisfactions in quantum programming languages (QPLs), including difficult mapping to hardware, limited expressiveness, and counter-intuitive code. Also, noisy qubits require repeatedly performed quantum experiments, which explicitly operate low-level configurations, such as pulses and timing of operations. This requirement is beyond the scope or capability of most existing QPLs. We summarize three execution models to depict the quantum-classical interaction of existing QPLs. Based on the refined HQCC model, we propose the Quingo framework to integrate and manage quantum-classical software and hardware to provide the programmability over HQCC applications and map them to NISQ hardware. We propose a six-phase quantum program life-cycle model matching the refined HQCC model, which is implemented by a runtime system. We also propose the Quingo programming language, an external domain-specific language highlighting timer-based timing control and opaque operation definition, which can be used to describe quantum experiments. We believe the Quingo framework could contribute to the clarification of key techniques in the design of future HQCC systems.
The increasing control complexity of Noisy Intermediate-Scale Quantum (NISQ) systems underlines the necessity of integrating quantum hardware with quantum software. While mapping heterogeneous quantum-classical computing (HQCC) algorithms to NISQ hardware for execution, we observed a few dissatisfactions in quantum programming languages (QPLs), including difficult mapping to hardware, limited expressiveness, and counter-intuitive code. In addition, noisy qubits require repeatedly performed quantum experiments, which explicitly operate low-level configurations, such as pulses and timing of operations. This requirement is beyond the scope or capability of most existing QPLs. We summarize three execution models to depict the quantum-classical interaction of existing QPLs. Based on the refined HQCC model, we propose the Quingo framework to integrate and manage quantum-classical software and hardware to provide the programmability over HQCC applications and map them to NISQ hardware. We propose a six-phase quantum program life-cycle model matching the refined HQCC model, which is implemented by a runtime system. We also propose the Quingo programming language, an external domain-specific language highlighting timer-based timing control and opaque operation definition, which can be used to describe quantum experiments. We believe the Quingo framework could contribute to the clarification of key techniques in the design of future HQCC systems.