1 import Base 2 import ./execution_resource_store.bend as Store 3 import ./change_tick.bend as Tick 4 5 type Reader<-H:Type,-V:Data> is Type: 6 Reader{get:H -> H & Store.Lookup} 7 UnsupportedReader{} 8 type Writer<-H:Type,-P:Type,-V:Data> is Type: 9 Writer{read:Reader,own:@-Out:Type -> H -> (P -> P & Out) -> H & Store.Edit,own_at:@-Out:Type -> H -> (Tick.Tick -> P -> P & Out) -> H & Store.Edit} 10 UnsupportedWriter{} 11 def Reads(~V:Data,H:Type) -> Type:Reader 12 def Writes(~P:Type,~V:Data,H:Type) -> Type:Writer