def define
bendvy-ecs-core@0.1.0.4 · recognized_system.bend:53
import bendvy-ecs-core@0.1.0.4/recognized_system.bend as RecognizedSystem
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/recognized_query_declaration.bend as N
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Decl
import bendvy-ecs-core@0.1.0.4/ordinary_system.bend as Ordinary
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
53def define(~S:Data,~Store:Type,~R:Type,~E:Data,~Ops:Type -> Type,~A:Data,~U:Data,~Out:Data,~query:N.Declaration<S,Store,R,E,Ops>,~body:@-H:Type -> @-caps:Ops(H) -> A -> H -> H & (T.Outcome<U> & Out),world:W.World<S,Store,R,E>,name:String,slot:String) -> Ordinary.Defined<S,W.World<S,Store,R,E>,Sys.Registry<S,Store,R,E,A & Maybe<&2,Tick.Tick>,Q.Error<U>,List<&2,Out>,runner(~S,~Store,~R,~E,~Ops,~A,~U,~Out,~query,~body)>>:
54 registered(~S,~Store,~R,~E,~Ops,~A,~U,~Out,~query,~body,slot,Decl.clauses(~S,~Q.Frame<S,Store,R,E>,~Ops(Q.Frame<S,Store,R,E>),N.ordinary(~S,~Store,~R,~E,~Ops,query)),Sys.register(~S,~Store,~R,~E,~(A & Maybe<&2,Tick.Tick>),~Q.Error<U>,~List<&2,Out>,~runner(~S,~Store,~R,~E,~Ops,~A,~U,~Out,~query,~body),world,name,Ordinary.access(~S,Decl.clauses(~S,~Q.Frame<S,Store,R,E>,~Ops(Q.Frame<S,Store,R,E>),N.ordinary(~S,~Store,~R,~E,~Ops,query)))))