{"id":28135754,"url":"https://github.com/thrushlang/quantum","last_synced_at":"2026-02-15T04:35:59.539Z","repository":{"id":280873818,"uuid":"943457545","full_name":"thrushlang/quantum","owner":"thrushlang","description":"Ideas for extending the Thrush Programming Language to Quantum Computing.","archived":false,"fork":false,"pushed_at":"2025-10-01T03:27:29.000Z","size":488,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-01T05:36:09.281Z","etag":null,"topics":["compiler-design","quantum","quantum-programming-language","quatum-computing"],"latest_commit_sha":null,"homepage":"https://github.com/thrushlang","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thrushlang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-05T18:30:04.000Z","updated_at":"2025-10-01T03:27:33.000Z","dependencies_parsed_at":"2025-03-05T19:34:54.027Z","dependency_job_id":"40e81e18-cd3b-431c-84d6-1500ff1ba5f0","html_url":"https://github.com/thrushlang/quantum","commit_stats":null,"previous_names":["thrushlang/quantumprogramming"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thrushlang/quantum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrushlang%2Fquantum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrushlang%2Fquantum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrushlang%2Fquantum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrushlang%2Fquantum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thrushlang","download_url":"https://codeload.github.com/thrushlang/quantum/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrushlang%2Fquantum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29469615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T04:35:06.950Z","status":"ssl_error","status_checked_at":"2026-02-15T04:33:41.357Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler-design","quantum","quantum-programming-language","quatum-computing"],"created_at":"2025-05-14T15:19:49.974Z","updated_at":"2026-02-15T04:35:59.502Z","avatar_url":"https://github.com/thrushlang.png","language":null,"readme":"\u003cimg src= \"https://github.com/thrushlang/.github/blob/main/assets/logos/thrushlang-logo.png\" alt= \"logo\" style= \"width: 80%; height: 80%;\"\u003e \u003c/img\u003e\n\n# Quantum programming\n\nThere are plans to enable **quantum programming support** for the Thrush Programming Language. Here we explain how we could implement it.\n\n# ¿What is Quantum Programming?\n\n**Quantum programming** is the development of software for quantum computers, which use principles of quantum mechanics, such as superposition and entanglement, to perform calculations. Unlike classical bits (0 or 1), qubits in quantum computing can be in multiple states simultaneously, allowing certain problems, such as factoring large numbers or simulating molecules, to be solved more efficiently than traditional computers.\n\n# We have problems.\n\nThe infrastructure of **[LLVM](https://llvm.org/)** and **[MLIR](https://mlir.llvm.org/)** is not yet stable enough to generate intermediate code for quantum computers. So we have to resort to other methods.\n\nIn addition to this, although there are dialects and infrastructures to generate quantum code, they are very complex and not available in Rust, in a conventional way, through some type of constructor or bridge.\n\n# Q# is the solution.\n\n**[Q#](https://github.com/microsoft/qsharp)** is a quantum programming language created by **Microsoft**.\n\nThis language has a compilation to multiple intermediate representations, which can be taken by IBM quantum compilers, Rigetti or Quantinuum, and translated into instructions valid for quantum computers.\nUsing this language in a manner that allows Thrush to be ported to it would be beneficial to add support for Thrush in this area of computing.\n\nFor example:\n\n```console\n./thrushc -qir -qir-run discrete-log.thq\n```\n\n# QIR is the other solution.\n\n**[QIR](https://qir-alliance.org/)** is an intermediary representation on top of LLVM IR, which can be executed by quantum backends such as those from Rigetti and IBM or even Azure.\n\nThis intermediate representation is used by Microsoft's current Q# to compile and emulate quantum code. \n\nThis QIR is simply an LLVM IR, providing support for linking to runtime functions that emulate the operation of a quantum component.\nIt can also be taken and run on IBM, Rigetti, Azure, and Quantinuum executors.\n\nThe same LLVM-C API can be utilized to create this specialized IR and dispatch it at compile time for users to employ in any executor that supports QIR.\n\nIt can also be executed by embedding the QIR compiler, unpacking it during the main compiler installation, and utilizing it to emulate the runtime.\n\n------------\n\nAlthough this is a **superficial introduction**, it is the very future idea of ​​implementing support for quantum programming by Thrush Programming Language, opening a new era in programming languages.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrushlang%2Fquantum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthrushlang%2Fquantum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrushlang%2Fquantum/lists"}