Reduce the tree, then deliver the root value (to every leaf owner, or
along the path to one), projected for `role`.
174def nativeCombineDeliveringContextFor =
175 (lambda unrestricted anchor : (family RegionTransferIdentity) .
176 (lambda unrestricted delivery : (family CombineDelivery) .
177 (lambda unrestricted role : Nat .
178 (lambda unrestricted tree : (family OrderedCombineTree) .
179 (let unrestricted digest =
180 (combineTreeDigest tree)
181 in
182 (let unrestricted global =
183 (compileOrderedCombine
184 (family RegionTransferIdentity)
185 anchor
186 digest
187 nativeCombineBinding
188 tree
189 0
190 (compileTreeDelivery
191 (family RegionTransferIdentity)
192 anchor
193 digest
194 nativeCombineBinding
195 delivery
196 tree
197 0
198 nativeCombineEnd))
199 in
200 (let unrestricted projected =
201 (projectGlobalProtocol
202 (family OrderedCombineOperation (family RegionTransferIdentity))
203 (family RegionTransferIdentity)
204 (family ProtocolNoDecision)
205 role
206 global)
207 in
208 (constructor
209 NativeCombineContext
210 NativeCombineContextOf
211 role
212 tree
213 digest
214 anchor
215 global
216 projected
217 (participantProtocolPayloads
218 (family OrderedCombineOperation (family RegionTransferIdentity))
219 (family RegionTransferIdentity)
220 (family ProtocolNoDecision)
221 projected)))))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.