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

The Journal of Open Source Software

Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language

Akshay Pal

Published Jan 29, 2026• 0 citations
Publisher

Abstract

Bloch is a modern quantum programming language and interpreter designed to feel familiar to systems developers while remaining hardware-agnostic.The project combines a statically typed surface language, a semantic analyser that guards against classical/quantum misuse before execution, and an interpreter that emits OpenQASM traces and aggregates multi-shot measurement results.Bloch supports classical control flow, deterministic resource management, and first-class annotations such as @quantum (to delineate quantum code) and @tracked (to stream measurements into probability tables).The language is implemented in C++20, ships with a comprehensive test suite, and is licensed under Apache-2.0to encourage adoption in research and industrial workflows.By pairing static semantics with vendor-neutral QASM emission, Bloch targets the gap between dynamically typed Python-first SDKs (e.g., Qiskit and Cirq (Cirq Developers, 2023; Qiskit contributors, 2023)) and vendor-specific languages while keeping a single-binary, non-Python toolchain.

DOI
10.21105/joss.09625

Related papers

Granthi: Higher-Order Quantum Programming via Unitary Wiring

Samson Abramsky, Radha Jagadeesan

Many mainstream quantum programming languages confine higher-order structure to a classical host while restricting the quantum layer to first-order operations on qubits. This paper presents Granthi, a purely unitary higher-order quantum programming language built on three design commitments: quantum programs are first-class values that may be passed, returned, and coherently composed; additive structure is tag-preserving routing rather than observational branching, so control may remain in superposition; and programmer-facing finite label types with staged reversible-operation bindings provide domain-level control spaces without exposing tag management. These bindings are eliminated by elaboration before Source typing. Granthi deterministically normalizes each Source program to a canonical wiring form. Every well-typed Source program, including a term of function type, has a unitary boundary interpretation. Under backend correctness (BC), the reference compiler produces a unitary circuit realizing that interpretation. Granthi's currently supported executable fragment is implemented end-to-end: an OCaml DSL elaborates surface programs through a higher-order Core IR to executable quantum circuits via pytket. The language directly supports the pure-unitary quantum switch for explicitly supplied operations; closed instances compile to static circuits. It also supports interference on control-flow history and structured finite control, all within the purely unitary fragment

quant-pharXiv:2608.20443•Proceedings of the ACM on Programming Languages•Aug 21, 2026•0 citations

Quantica: A Hybrid Classical–Quantum Programming Language with a Unified Execution Model

M, Gurukasi

Quantica is an innovative programming language that allows the simultaneous use of classical control flow and quantum computation in one unified model. The language design, execution semantics, and primary concerns of the type system controlling classical-quantum interaction are all presented in this preprint. Furthermore, the paper outlines the initial reference implementation, which includes the compiler front end, execution model, and backend infrastructure, along with the sample programs representing quantum gates, entanglement, measurement-driven control flow, and variational hybrid algorithms. The authors finish by pointing out the existing limitations and suggesting the next steps in the unified quantum programming language design as future research. Quantica Github Repo

•Dec 8, 2025•0 citations

QCOR

Tiffany M. Mintz, Alexander McCaskey, Eugene Dumitrescu +3 more

Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR , which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.

ACM Journal on Emerging Technologies in Computing Systems•Mar 18, 2020•42 citations

QCOR: A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation

Tiffany M. Mintz, Alexander McCaskey, Eugene Dumitrescu +3 more

Quantum computing is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for quantum computing were designed with fault-tolerant hardware in mind, envisioning standalone applications. However, near-term quantum computers are susceptible to noise which limits their standalone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This {\it modus operandi} calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, that enables single-source quantum-classical programming. Programs written using the QCOR library and directives based language extensions can be compiled to produce functional hybrid binary executables. After defining the QCOR's programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed forward quantum computing. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high performance computing (HPC). The high level of abstraction in the developed language is intended to accelerate the adoption of quantum computing by researchers familiar with classical HPC.

arXiv:1909.02457•Sep 5, 2019•11 citations

Silq2Qiskit - Developing a quantum language source-to-source translator

Julian Hans, Sven Groppe

Quantum Computers are quickly becoming capable of solving certain tasks substantially faster than classical computers and the promise of quantum-driven advancements in research and economy continues to accelerate the development of quantum technology. However, most software development for quantum computers relies on the tedious manual implementation of quantum circuits on a very low level of abstraction, with tools such as the prominent IBM Qiskit SDK. In 2020, Silq, a quantum language to enable more intuitive and robust quantum development, was presented. While it substantially simplifies the write- and readability of quantum programs, Silq Code can only be run through its simulator on classical hardware. In comparison, Qiskit and its close integration with IBM’s Quantum Experience even enable users to run and evaluate quantum programs on physical quantum hardware. This paper proposes an automatic source-to-source translator for basic Silq Code and the extension of Qiskit by core concepts of Silq’s abstraction layers, such as Quantum Indexing and Quantum Control Flow.

•Oct 21, 2022•2 citations

Foundational Design of Multi-Modal Typed Programming Language for Quantum-Classical Hybrid Computing System

Shota Arakaki, Masao Hirokawa

As quantum computing hardware advances toward practical implementation, the design of high-level programming languages for quantum-classical hybrid systems remains a critical challenge. Current quantum programming approaches lack unified abstractions that seamlessly integrate classical and quantum computation. This paper proposes a foundational framework for a high-level quantum-classical hybrid programming language based on multi-modal type theory. Our approach formulates quantum-classical hybrid computation as staged computation, where classical computation generates and executes quantum programs. We adapt type systems and operational semantics from prior research in classical staged computation to this framework. This research provides a theoretical foundation for implementing interpreters and compilers that uniformly handle both classical and quantum computation.

International Conference on Artificial Intelligence, Computer, Data Sciences and Applications (ACDSA)•Feb 5, 2026•0 citations
Bloch is a modern quantum programming language and interpreter designed to feel familiar to systems developers while remaining hardware-agnostic.The project combines a statically typed surface language, a semantic analyser that guards against classical/quantum misuse before execution, and an interpreter that emits OpenQASM traces and aggregates multi-shot measurement results.Bloch supports classical control flow, deterministic resource management, and first-class annotations such as @quantum (to delineate quantum code) and @tracked (to stream measurements into probability tables).The language is implemented in C++20, ships with a comprehensive test suite, and is licensed under Apache-2.0to encourage adoption in research and industrial workflows.By pairing static semantics with vendor-neutral QASM emission, Bloch targets the gap between dynamically typed Python-first SDKs (e.g., Qiskit and Cirq (Cirq Developers, 2023; Qiskit contributors, 2023)) and vendor-specific languages while keeping a single-binary, non-Python toolchain.
Many mainstream quantum programming languages confine higher-order structure to a classical host while restricting the quantum layer to first-order operations on qubits. This paper presents Granthi, a purely unitary higher-order quantum programming language built on three design commitments: quantum programs are first-class values that may be passed, returned, and coherently composed; additive structure is tag-preserving routing rather than observational branching, so control may remain in superposition; and programmer-facing finite label types with staged reversible-operation bindings provide domain-level control spaces without exposing tag management. These bindings are eliminated by elaboration before Source typing. Granthi deterministically normalizes each Source program to a canonical wiring form. Every well-typed Source program, including a term of function type, has a unitary boundary interpretation. Under backend correctness (BC), the reference compiler produces a unitary circuit realizing that interpretation. Granthi's currently supported executable fragment is implemented end-to-end: an OCaml DSL elaborates surface programs through a higher-order Core IR to executable quantum circuits via pytket. The language directly supports the pure-unitary quantum switch for explicitly supplied operations; closed instances compile to static circuits. It also supports interference on control-flow history and structured finite control, all within the purely unitary fragment
Quantica is an innovative programming language that allows the simultaneous use of classical control flow and quantum computation in one unified model. The language design, execution semantics, and primary concerns of the type system controlling classical-quantum interaction are all presented in this preprint. Furthermore, the paper outlines the initial reference implementation, which includes the compiler front end, execution model, and backend infrastructure, along with the sample programs representing quantum gates, entanglement, measurement-driven control flow, and variational hybrid algorithms. The authors finish by pointing out the existing limitations and suggesting the next steps in the unified quantum programming language design as future research. Quantica Github Repo
Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR , which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.
Quantum computing is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for quantum computing were designed with fault-tolerant hardware in mind, envisioning standalone applications. However, near-term quantum computers are susceptible to noise which limits their standalone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This {\it modus operandi} calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, that enables single-source quantum-classical programming. Programs written using the QCOR library and directives based language extensions can be compiled to produce functional hybrid binary executables. After defining the QCOR's programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed forward quantum computing. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high performance computing (HPC). The high level of abstraction in the developed language is intended to accelerate the adoption of quantum computing by researchers familiar with classical HPC.
Quantum Computers are quickly becoming capable of solving certain tasks substantially faster than classical computers and the promise of quantum-driven advancements in research and economy continues to accelerate the development of quantum technology. However, most software development for quantum computers relies on the tedious manual implementation of quantum circuits on a very low level of abstraction, with tools such as the prominent IBM Qiskit SDK. In 2020, Silq, a quantum language to enable more intuitive and robust quantum development, was presented. While it substantially simplifies the write- and readability of quantum programs, Silq Code can only be run through its simulator on classical hardware. In comparison, Qiskit and its close integration with IBM’s Quantum Experience even enable users to run and evaluate quantum programs on physical quantum hardware. This paper proposes an automatic source-to-source translator for basic Silq Code and the extension of Qiskit by core concepts of Silq’s abstraction layers, such as Quantum Indexing and Quantum Control Flow.
As quantum computing hardware advances toward practical implementation, the design of high-level programming languages for quantum-classical hybrid systems remains a critical challenge. Current quantum programming approaches lack unified abstractions that seamlessly integrate classical and quantum computation. This paper proposes a foundational framework for a high-level quantum-classical hybrid programming language based on multi-modal type theory. Our approach formulates quantum-classical hybrid computation as staged computation, where classical computation generates and executes quantum programs. We adapt type systems and operational semantics from prior research in classical staged computation to this framework. This research provides a theoretical foundation for implementing interpreters and compilers that uniformly handle both classical and quantum computation.