Skip to content

Conversation

@elias-utf8
Copy link

qcaml.0.1.1

Experimental OCaml library for quantum computing simulation
QCaml is a lightweight OCaml library for experimenting with quantum states,
gates and measurements. It provides tools for learning quantum computing
concepts and visualizing qubit states on the Bloch sphere.

Features:

  • Single qubit state representation with complex amplitudes
  • Fundamental quantum gates (Hadamard, Pauli-X/Y/Z)
  • Quantum measurements with probabilistic state collapse
  • Interactive Bloch sphere visualization using OpenGL/GLUT
  • Comprehensive test suite


🐫 Pull-request generated by opam-publish v2.7.0

@elias-utf8 elias-utf8 force-pushed the opam-publish-qcaml.0.1.1 branch from a167781 to d015288 Compare November 1, 2025 21:55
bug-reports: "https://github.com/elias-utf8/qcaml/issues"
depends: [
"ocaml" {>= "5.2"}
"dune" {>= "2.9" & >= "2.9"}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bound needs adjustment.
On the lower bounds search
- downgrade dune 3.20.2 to 3.6.2 [required by qcaml]
changes it from compiling cleanly to failing with

#=== ERROR while compiling qcaml.0.1.1 ========================================#
# context              2.5.0~alpha1 | linux/x86_64 | ocaml-base-compiler.5.4.0 | pinned(https://github.com/elias-utf8/qcaml/archive/refs/tags/v0.1.2.tar.gz)
# path                 ~/.opam/5.4/.opam-switch/build/qcaml.0.1.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p qcaml -j 71 --promote-install-files=false @install
# exit-code            1
# env-file             ~/.opam/log/qcaml-7-2a98d2.env
# output-file          ~/.opam/log/qcaml-7-2a98d2.out
### output ###
# File "examples/dune", line 1, characters 0-0:
# Error: Module "Statistics" is used in several stanzas:
# - examples/dune:1
# - examples/dune:6
# - examples/dune:11
# - examples/dune:16
# To fix this error, you must specify an explicit "modules" field in every
# library, executable, and executables stanzas in this dune file. Note that
# each module cannot appear in more than one "modules" field - it must belong
# to a single library or executable.

I suggest just recreating locally and starting off a bisection, starting off somewhere in the middle, e.g., with
opam install dune.3.17.2 and seeing if things compile cleanly with each investigated version.

]
dev-repo: "git+https://github.com/elias-utf8/qcaml.git"
url {
src: "https://github.com/elias-utf8/qcaml/archive/refs/tags/v0.1.2.tar.gz"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's also something with the version.
This now refers to v0.1.2.tar.gz yet the opam file is named packages/qcaml/qcaml.0.1.1/opam

@elias-utf8
Copy link
Author

Oh sorry, I didnt see your review so I created a new PR on a new release with the corrections for 0.1.2 here but I didnt did the biisection.

@jmid
Copy link
Member

jmid commented Nov 1, 2025

OK thanks, that takes care of the package versioning 👍
The new PR's CI run also fails the lower-bounds search for the same reason 🙂

@elias-utf8
Copy link
Author

Haha of course :)) And yes, I'll keep you updated in the new PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants