def left

bendvy-ecs-core@0.1.0.4 · ordinary_owned_event_family_reader_binding.bend:20

import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_reader_binding.bend as OrdinaryOwnedEventFamilyReaderBinding
import 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

20def left(~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>,PA,RB & RestA,Publication.Publication<EA,EB>,Family.Domains<DA,DB>,Product.Owner<FA,FB>,Binding.left_path(~RA,~RB,~PA,~RestA,~pathA),Route.inject_left(~EA,~EB,~injectA),Route.select_left(~EA,~EB,~selectA),identityA,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.left_take(~S,~Nat,~FA,~FB,~takeA),Family.left_put(~S,~Nat,~FA,~FB,~putA)>:
21  match first second:
22    case Setup{ownedA,provisionA,selectionA} Setup{ownedB,provisionB,selectionB}:Setup{Binding.left(~S,~RA,~RB,~PA,~RestA,~EA,~EB,~pathA,~injectA,~selectA,~identityA,ownedA),Family.branch(~S,~EA,~EB,~DA,~DB,~FA,~FB,~makeA,~makeB,~syncA,~syncB,~frameA,~frameB,~retainA,~retainB,~inventoryA,~inventoryB,provisionA,provisionB),Family.select_left(~S,~Nat,~FA,~FB,~takeA,~putA,selectionA)}

Uses (25)

Used by (0)

No other definition uses this definition.