module arch.system.state.resource_machine.notes.runnable; import prelude open; trait type Runnable KVSKey KVSDatum Executable ProgramState := mkRunnable@{ executeStep : Executable -> ProgramState -> Pair KVSKey KVSDatum -> Result String (Pair ProgramState (List (Either KVSKey (Pair KVSKey KVSDatum)))); halted : ProgramState -> Bool; startingState : ProgramState; };