v0.1.0 — Information is Sacred
Rewind v0.1.0 — Le premier SDK de calcul nativement reversible pour Rust
Information is Sacred — elle ne doit jamais etre detruite.
Fonctionnalites
Types et Portes
- QuantumCell — Type lineaire qui doit etre consomme exactement une fois
- Jeu de portes universel complet : Toffoli (CCNOT), Fredkin (CSWAP), CNOT, Pauli-X
- Circuits pre-construits : demi-additionneur, additionneur complet, swap, composition, inversion
- Algorithmes reversibles : accumulation XOR, rotation, fan-out, parite
Moteur d Execution
- Forward/Backward : execution bidirectionnelle avec restauration parfaite
- Checkpoint/Restore : points de sauvegarde programmables
- ReversibleRuntime : API unifiee avec tracking et rewind
- Tracing : execution pas-a-pas avec callbacks
Outils Developpeur
- #[reversible] : macro verifiant la reversibilite a la compilation + generation du code inverse
- CLI :
rewind run,rewind analyze,rewind example - Format .rev : serialisation/deserialisation de programmes
Infrastructure
- Garbage-Free Collector avec budget memoire configurable
- Algorithme de Bennett : graphe de calcul + strategie de pebbling
- 184 tests (proptest + unitaires + integration + stress + CLI)
- Benchmarks Criterion : 93 milliards de bit-ops/sec (Toffoli scalaire)
Installation
git clone https://github.com/CTC-Kernel/aion-os.git
cd aion-os
cargo build
cargo test
cargo run -p rewind --example hello_rewindQuick Start
use rewind::prelude::*;
let mut rt = ReversibleRuntime::new(vec![
BitPlane::from_words(vec![42]),
BitPlane::from_words(vec![0]),
]);
rt.execute_tracked(Op::Not(0));
rt.execute_tracked(Op::Cnot { control: 0, target: 1 });
rt.rewind_all().unwrap(); // Parfaitement restaure
assert!(rt.is_garbage_free());