reversible-computing
Janus and reversible languages: run programs backwards, time-symmetric computation.
Profile →npx skills add majiayu000/claude-skill-registry --skill reversible-computing --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Reversible Computing Skill > *"Every computation can be undone. Time flows both ways."* ## Core Concept Reversible computing ensures: 1. **Bijective** — every state has exactly one predecessor AND successor 2. **No information loss** — can always recover input from output 3. **Time-symmetric** — run program forwards or backwards 4. **Landauer limit** — theoretical minimum energy (no erasure = no heat) ``` forward Input ─────────────▶ Output ◀───────────── backward ``` ## Why It's Strange 1. **No destructive updates** — `x = 5` is illegal (loses old value) 2. **No `if` without `fi`** — conditionals must be invertible 3. **No garbage** — all temporary values must be "uncomputed" 4. **Quantum-ready** — unitary operations are reversible ## Janus Language ```janus procedure swap(int x, int y) x ^= y // x' = x ⊕ y y ^= x // y' = y ⊕ (x ⊕ y) = x x ^= y // x'' = (x ⊕ y) ⊕ x = y // Running BACKWARDS automatically inverts! // uncall swap(a, b) ← swaps back ``` ### Reversible Conditionals ```janus // Forward: if-then-else-fi if x = 0 then x += 1 else x += 2 fi x = 1 // <-- ASSERTION: must be true after forward // Backward: uses fi-assertion to know which branch was taken ``` ### Reversible
- Core Concept
- Why It's Strange
- Janus Language
- Reversible Conditionals
- Reversible Loops
- Bennett's Trick
- Implementation
- Reversible Gates (Hardware)
- GF(3) Integration
- Quantum Connection
- Energy and Landauer's Principle
- Languages & Tools
- Example: Reversible Fibonacci
- Literature
What does the reversible-computing skill do?
Janus and reversible languages: run programs backwards, time-symmetric computation.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill reversible-computing --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.