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