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.
“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.
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 wheelerRun 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 -versionandJAVA_HOME. The build requires JDK 26. - Missing source path: run from the cloned repository root, not
bootstrap/. - Invalid bytecode magic:
runaccepts bytecode or a package target, not a.wsource 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.
- Language profile
- Virtual machine
- Bytecode and certificates
- Quantum targets
- Hybrid recovery
- Semantic coverage
- Development and test guide
- Executable conformance
- Improvement proposals
- Full documentation
Wheeler is licensed under the Apache License 2.0.