1 import Base 2 import ./world.bend as W 3 import ./ordinary_app_observation_data.bend as DTO 4 import ./ordinary_optional_resource_declaration.bend as D 5 def resource_returned(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~V:Data,~declaration:D.Declaration,result:W.World & V) -> W.World & DTO.Observation: 6 match result: 7 case (world,+value):(world,DTO.Observation{value,[D.name(~S,~C,~R,~E,~Ops,~V,declaration) ++ "=" ++ D.presenter(~S,~C,~R,~E,~Ops,~V,declaration)(value)]}) 8 def resource_observe(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~V:Data,~declaration:D.Declaration,world:W.World) -> W.World & DTO.Observation: 9 resource_returned(~S,~C,~R,~E,~Ops,~V,~declaration,D.observer(~S,~C,~R,~E,~Ops,~V,declaration)(world))