Skip to content

Repository files navigation

Wheeler

Wheeler is an experimental language and runtime for reversible classical computation, coherent quantum programs, and recoverable hybrid workflows. The current VM is deterministic and single-task.

Generated inverses, history-based rewind, quantum adjoints, and observation replay have separate contracts. An inverse executes new operations. Rewind needs retained history. Replay reuses observations and does not restore quantum state.

Capabilities

“Accepted” means implemented within the linked profile, not production-ready. The checks below establish specific behavior, not a release-wide correctness proof. The Java bootstrap remains part of the development and execution path.

Capability Status and implementation Contract and limits Example and automated checks
Classical execution and generated inverses Accepted, Java compiler and VM Checked signed arithmetic and restricted reversible bodies. Scalar result slots support selected parameterized relations. Counter, result-slot tests.
History-based rewind Accepted, Java VM Complete VM state restoration within retained history. Commit closes the earlier rewind horizon, not the generated inverse. VM tests.
Coherent execution and adjoints Bounded, Java compiler and ideal simulator Finite-width permutations and ideal quantum gates. Modular coherent arithmetic differs from checked classical arithmetic. CoherentOracle, QFT, quantum examples.
External quantum targets Experimental, Java adapters and OpenQASM emission Application-supplied executors. Simulator agreement and emitted QASM are not hardware evidence. Adapter tests.
Hybrid recovery and replay Bounded, Java runtime Acknowledged jobs and accepted observations. No power-loss durability or universal exactly-once execution guarantee. Recovery and mock-provider tests.
Proof certificates Accepted, Java. Bounded, Wheeler. Four finite structural rules, not arbitrary program or hardware correctness. Step certificates reject every call form. CertifiedInverseBounds, kernel regression, native checks.
Wheeler-written compiler and interpreter Bounded, exercised through the bootstrap VM Native profiles and trust boundary. Selected artifact parity does not establish a compiler fixed point. Compiler, native VM checks.
Concurrent tasks Planned Root task only. No accepted spawn or join forms. Task contract, not an executable concurrency claim.
Full self-hosting and Java-free bootstrap Planned Stage equality, recovery, and cutover gates remain open. No completed fixed-point or Java-free acceptance receipt.

“Verified” names a particular check: artifact well-formedness, a finite certificate rule, or an executable comparison. None implies general compiler correctness, algorithm correctness, or physical device fidelity.

Quickstart

Use Git, JDK 26, and a POSIX shell on Linux or macOS. Set JAVA_HOME to that JDK and put its bin directory on PATH. The first run needs network access for the checked-in Gradle wrapper and dependencies. This quickstart does not cover Windows shells or require a quantum provider.

git clone https://github.com/typeobject/wheeler.git
cd wheeler

Run from the repository root:

./bootstrap/gradlew -p bootstrap -q :tools:wheeler --args='run wheeler-examples --target counter'

After any first-run downloads, the final output is:

Counter (classical) halted after 15 steps
count = 0

Counter.w calls increment twice, then executes its generated inverse twice. It restores the counter without consuming saved VM history. This small example is separate from the full conformance and compiler-integration suites.

The quickstart check reads this command and expected output directly. Its CI job uses a fresh checkout on Linux and macOS.

Common failures:

  • Wrong Java version: check java -version and JAVA_HOME. The build requires JDK 26.
  • Missing source path: run from the cloned repository root, not bootstrap/.
  • Invalid bytecode magic: run accepts bytecode or a package target, not a .w source file. Use the package command above.
  • Download failure: check network or proxy access before retrying the wrapper.
  • Native-access warning: the Gradle launcher may print one on stderr. It is not a failed Wheeler assertion.

Read next

License

Wheeler is licensed under the Apache License 2.0.

About

Experimental language and runtime for reversible classical computation, coherent quantum programs, and recoverable hybrid workflows.

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages