def right
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_reader_binding.bend as OrdinaryOwnedEventFamilyReaderBindingimport Base
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_binding.bend as Binding
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event.bend as Pub
import bendvy-ecs-core@0.1.0.4/owned_event_log.bend as Log
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/owned_event_key_route.bend as Route
import bendvy-ecs-core@0.1.0.4/ordinary_event_family.bend as Family
import bendvy-ecs-core@0.1.0.4/event_stream.bend as Stream
import bendvy-ecs-core@0.1.0.4/event_publication.bend as Publication
23def right(~S:Data,~RA:Type,~PA:Type,~RestA:Type,~EA:Data,~DA:Data,~FA:Type,~pathA:Product.Lens<RA,Log.Log<PA>,RestA>,~injectA:Nat -> EA,~selectA:List<&2,EA> -> List<&2,Nat>,~identityA:Pub.Domain<S,PA>,~makeA:DA -> Nat -> FA,~syncA:FA -> Nat -> List<&2,EA> -> FA,~frameA:FA -> Nat -> FA,~retainA:FA -> Nat -> List<&2,EA> -> FA & List<&2,EA>,~inventoryA:FA -> FA & List<&2,String>,~takeA:FA -> FA & Stream.Stream<S,Nat>,~putA:FA -> Stream.Stream<S,Nat> -> FA,~RB:Type,~PB:Type,~RestB:Type,~EB:Data,~DB:Data,~FB:Type,~pathB:Product.Lens<RB,Log.Log<PB>,RestB>,~injectB:Nat -> EB,~selectB:List<&2,EB> -> List<&2,Nat>,~identityB:Pub.Domain<S,PB>,~makeB:DB -> Nat -> FB,~syncB:FB -> Nat -> List<&2,EB> -> FB,~frameB:FB -> Nat -> FB,~retainB:FB -> Nat -> List<&2,EB> -> FB & List<&2,EB>,~inventoryB:FB -> FB & List<&2,String>,~takeB:FB -> FB & Stream.Stream<S,Nat>,~putB:FB -> Stream.Stream<S,Nat> -> FB,first:Setup<S,RA,PA,RestA,EA,DA,FA,pathA,injectA,selectA,identityA,makeA,syncA,frameA,retainA,inventoryA,takeA,putA>,second:Setup<S,RB,PB,RestB,EB,DB,FB,pathB,injectB,selectB,identityB,makeB,syncB,frameB,retainB,inventoryB,takeB,putB>) -> Setup<S,Product.Owner<RA,RB>,PB,RA & RestB,Publication.Publication<EA,EB>,Family.Domains<DA,DB>,Product.Owner<FA,FB>,Binding.right_path(~RA,~RB,~PB,~RestB,~pathB),Route.inject_right(~EA,~EB,~injectB),Route.select_right(~EA,~EB,~selectB),identityB,Family.node_make(~DA,~DB,~FA,~FB,~makeA,~makeB),Family.node_sync(~EA,~EB,~FA,~FB,~syncA,~syncB),Family.node_frame(~FA,~FB,~frameA,~frameB),Family.pair_retain(~EA,~EB,~FA,~FB,~retainA,~retainB),Family.pair_inventory(~FA,~FB,~inventoryA,~inventoryB),Family.right_take(~S,~Nat,~FA,~FB,~takeB),Family.right_put(~S,~Nat,~FA,~FB,~putB)>:
24 match first second:
25 case Setup{ownedA,provisionA,selectionA} Setup{ownedB,provisionB,selectionB}:Setup{Binding.right(~S,~RA,~RB,~PB,~RestB,~EA,~EB,~pathB,~injectB,~selectB,~identityB,ownedB),Family.branch(~S,~EA,~EB,~DA,~DB,~FA,~FB,~makeA,~makeB,~syncA,~syncB,~frameA,~frameB,~retainA,~retainB,~inventoryA,~inventoryB,provisionA,provisionB),Family.select_right(~S,~Nat,~FA,~FB,~takeB,~putB,selectionB)}
Uses (25)
Used by (0)
No other definition uses this definition.