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

LanQ - an Imperative Quantum Programming Language

Hynek Mlnařík

Published Jan 1, 2006• 1 citation
OpenAlex

Abstract

LanQ is an imperative high-level quantum programming language
that allows combining of quantum and classical computations in
the way of classical control, quantum data. Moreover, it offers
tools for communication and parallel running of programs. In
the paper, we introduce the language.

Related papers

Quantum Programming Language LanQ

Hynek Mlnařík

We define a typed imperative quantum programming language LanQ that allows programmers to implement any algorithm that is based on either one, or a combination of classical or quantum computation. The language syntax is similar to that of C language and forces programmers to structure their programs into smaller pieces of code (methods, blocks) what makes the program better readable and maintainable compared to programs in unstructured languages. It allows programmers to assign a quantum system to several variables in such a way that all quantum principles, namely no-cloning and no-deleting, are obeyed. The language also offers process algebraic features such as creation a new process (this is done by forking a new process from a running one) and interprocess communication. It therefore supports implementation of multiparty protocols. The resources sent over a channel are handled so that they are always owned by at most one process at one time. In the thesis, we formally describe the language syntax, its type system, memory model used and operational semantics. We also prove type soundness property for the noncommunicating part of the language and for the full language provided the programs are guaranteed to use only a well-formed communication.. We show an example run of a random number generator implemented in the language and provide a reference manual to the implementation of LanQ simulator which is publicly available at http://lanq.sf.net/.

•Jan 1, 2007•9 citations

Operational Semantics and Type Soundness of Quantum Programming Language LanQ

Hynek Mlnařík

We present an imperative quantum programming language LanQ which was designed to support combination of quantum and classical programming and basic process operations - process creation and interprocess communication. The language can thus be used for implementing both classical and quantum algorithms and protocols. Its syntax is similar to that of C language what makes it easy to learn for existing programmers. In this paper, we present operational semantics of the language and a proof of type soundness of the noncommunicating part of the language. We provide an example run of a quantum random number generator.

arXiv:0708.0890•Aug 7, 2007•10 citations

SEMANTICS OF QUANTUM PROGRAMMING LANGUAGE LANQ

Hynek Mlnařík

We show a memory model of an imperative concurrent quantum programming language LanQ. The memory model is used to specify the shape of semantical structure upon which the language operational semantics is defined. We also outline the language abilities in the area of formal verification on an example implementation of teleportation protocol.

International Journal of Quantum Information•Jul 1, 2008•10 citations

Towards a quantum programming language

Peter Selinger

We propose the design of a programming language for quantum computing. Traditionally, quantum algorithms are frequently expressed at the hardware level, for instance in terms of the quantum circuit model or quantum Turing machines. These approaches do not encourage structured programming or abstractions such as data types. In this paper, we describe the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.

Mathematical Structures in Computer Science•Aug 1, 2004•478 citations

isQ: An Integrated Software Stack for Quantum Programming

Jingzhe Guo, Huazhe Lou, Jintao Yu +6 more

We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make programmers write quantum programs as conveniently as possible. In particular:1)The isQ language and its compiler contain many useful features, including but not limited to: classical control flow, such as recursion; decomposition of self-defined unitary gates; and oracle programming and its circuit realization.2)To make it flexible, an isQ program can be compiled into several different kinds of intermediate representation and assemblies, including QIR, eQASM, OpenQASM 3.0, and QCIS (specially tailored for the superconducting quantum hardware at USTC).3)Besides interfacing isQ with real superconducting hardware, a QIR simulator is also developed for the demonstration and testing of isQ programs.isQ software stack encompasses abundant compiler optimizations of high-level quantum programs. To realize it, a distinct MLIR dialect name isQ-IR is proposed.

IEEE Transactions on Quantum Engineering•Jan 1, 2023•19 citations

ONDA: A High-Level Quantum Programming Language with Sequential Execution and Conditional Branching

Francesco De Gregorio

This paper introduces ONDA, a quantum programming language designed to significantly simplify quantum programming by providing multiple abstraction layers similar to those found in classical computing. Unlike traditional quantum programming languages, which primarily focus on circuit construction, ONDA compiles into quantum instructions executed autonomously by specialized quantum hardware, eliminating the need for classical assistance. The proposed architecture uniquely supports sequential execution, branching, and the direct implementation of classical control structures such as conditional statements and loops (e.g., if, do-while) entirely within the quantum domain. By leveraging a quantum microarchitecture that autonomously processes compiled instructions, ONDA facilitates the intuitive implementation of high-level quantum algorithms, reducing complexity and broadening access to quantum programming to promote wider adoption and accelerate advancements in quantum computing.

arXiv:2410.06779•Oct 9, 2024•0 citations
We define a typed imperative quantum programming language LanQ that allows programmers to implement any algorithm that is based on either one, or a combination of classical or quantum computation. The language syntax is similar to that of C language and forces programmers to structure their programs into smaller pieces of code (methods, blocks) what makes the program better readable and maintainable compared to programs in unstructured languages. It allows programmers to assign a quantum system to several variables in such a way that all quantum principles, namely no-cloning and no-deleting, are obeyed. The language also offers process algebraic features such as creation a new process (this is done by forking a new process from a running one) and interprocess communication. It therefore supports implementation of multiparty protocols. The resources sent over a channel are handled so that they are always owned by at most one process at one time. In the thesis, we formally describe the language syntax, its type system, memory model used and operational semantics. We also prove type soundness property for the noncommunicating part of the language and for the full language provided the programs are guaranteed to use only a well-formed communication.. We show an example run of a random number generator implemented in the language and provide a reference manual to the implementation of LanQ simulator which is publicly available at http://lanq.sf.net/.
We present an imperative quantum programming language LanQ which was designed to support combination of quantum and classical programming and basic process operations - process creation and interprocess communication. The language can thus be used for implementing both classical and quantum algorithms and protocols. Its syntax is similar to that of C language what makes it easy to learn for existing programmers. In this paper, we present operational semantics of the language and a proof of type soundness of the noncommunicating part of the language. We provide an example run of a quantum random number generator.
We propose the design of a programming language for quantum computing. Traditionally, quantum algorithms are frequently expressed at the hardware level, for instance in terms of the quantum circuit model or quantum Turing machines. These approaches do not encourage structured programming or abstractions such as data types. In this paper, we describe the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.
We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make programmers write quantum programs as conveniently as possible. In particular:1)The isQ language and its compiler contain many useful features, including but not limited to: classical control flow, such as recursion; decomposition of self-defined unitary gates; and oracle programming and its circuit realization.2)To make it flexible, an isQ program can be compiled into several different kinds of intermediate representation and assemblies, including QIR, eQASM, OpenQASM 3.0, and QCIS (specially tailored for the superconducting quantum hardware at USTC).3)Besides interfacing isQ with real superconducting hardware, a QIR simulator is also developed for the demonstration and testing of isQ programs.isQ software stack encompasses abundant compiler optimizations of high-level quantum programs. To realize it, a distinct MLIR dialect name isQ-IR is proposed.
This paper introduces ONDA, a quantum programming language designed to significantly simplify quantum programming by providing multiple abstraction layers similar to those found in classical computing. Unlike traditional quantum programming languages, which primarily focus on circuit construction, ONDA compiles into quantum instructions executed autonomously by specialized quantum hardware, eliminating the need for classical assistance. The proposed architecture uniquely supports sequential execution, branching, and the direct implementation of classical control structures such as conditional statements and loops (e.g., if, do-while) entirely within the quantum domain. By leveraging a quantum microarchitecture that autonomously processes compiled instructions, ONDA facilitates the intuitive implementation of high-level quantum algorithms, reducing complexity and broadening access to quantum programming to promote wider adoption and accelerate advancements in quantum computing.