Equations
- VerifiedIO.ioBit b = do let __do_lift ← get match __do_lift with | [] => StateT.lift (Sum.inl b) | b₀ :: bs => do set bs pure b₀
Instances For
Instances
Equations
Instances For
Equations
- VerifiedIO.writeBit b = do let _ ← VerifiedIO.ioBit b pure ()
Instances For
Equations
- VerifiedIO.readBitsUntil p = do let bs ← get match List.find? p bs.inits with | some bs₁ => do StateT.set (List.drop bs₁.length bs) pure bs₁ | none => StateT.lift (Sum.inl 0)
Instances For
Equations
- VerifiedIO.readNat = do let bs ← VerifiedIO.readBitsUntil fun (x : List Bit) => decide (0 ∈ x) pure (bs.length - 1)