Source/Packages

Compiler.Planning.OrderedCombine

packages/compiler/planning/src/Compiler/Planning/OrderedCombine.alpha

832 lines26 declarations41.4 KiBSHA-256 69f52e43e720

def · lines 293–363

compileTreeDelivery

Full file
293def compileTreeDelivery =
294  (lambda erased payload : Type 0 .
295    (lambda unrestricted anchor : (family RegionTransferIdentity) .
296      (lambda unrestricted digest : Bytes .
297        (lambda unrestricted binding : (pi unrestricted stage : (family CombineStage) . (pi unrestricted source : (family CombineReference) . (pi unrestricted destination : (family CombineReference) . (pi unrestricted identity : (family RegionTransferIdentity) . payload)))) .
298          (lambda unrestricted delivery : (family CombineDelivery) .
299            (lambda unrestricted tree : (family OrderedCombineTree) .
300              (eliminate
301                OrderedCombineTree
302                (lambda unrestricted current : (family OrderedCombineTree) .
303                  (pi unrestricted base : Nat .
304                    (pi unrestricted tail : (family GlobalProtocol (family OrderedCombineOperation payload) payload (family ProtocolNoDecision)) .
305                      (family
306                        GlobalProtocol
307                        (family OrderedCombineOperation payload)
308                        payload
309                        (family ProtocolNoDecision)))))
310                tree
311                (branch
312                  OrderedCombineLeaf
313                  owner
314                  .
315                  (lambda unrestricted base : Nat .
316                    (lambda unrestricted tail : (family GlobalProtocol (family OrderedCombineOperation payload) payload (family ProtocolNoDecision)) .
317                      tail)))
318                (branch
319                  OrderedCombineBranch
320                  owner
321                  left
322                  right
323                  leftResult
324                  rightResult
325                  .
326                  (lambda unrestricted base : Nat .
327                    (lambda unrestricted tail : (family GlobalProtocol (family OrderedCombineOperation payload) payload (family ProtocolNoDecision)) .
328                      (let unrestricted rightBase =
329                        (naturalAdd base (combineNodeCount left))
330                        in
331                        (let unrestricted node =
332                          (naturalAdd rightBase (combineNodeCount right))
333                          in
334                          (let unrestricted source =
335                            (combineReference owner node 0)
336                            in
337                            (combineDeliverInto
338                              payload
339                              (combineDeliveryReaches delivery left)
340                              (lambda unrestricted rest : (family GlobalProtocol (family OrderedCombineOperation payload) payload (family ProtocolNoDecision)) .
341                                (combineMove
342                                  payload
343                                  anchor
344                                  digest
345                                  (constructor CombineStage CombineReplicate)
346                                  binding
347                                  source
348                                  (combineTreeReference left base)
349                                  (leftResult base rest)))
350                              (combineDeliverInto
351                                payload
352                                (combineDeliveryReaches delivery right)
353                                (lambda unrestricted rest : (family GlobalProtocol (family OrderedCombineOperation payload) payload (family ProtocolNoDecision)) .
354                                  (combineMove
355                                    payload
356                                    anchor
357                                    digest
358                                    (constructor CombineStage CombineReplicate)
359                                    binding
360                                    source
361                                    (combineTreeReference right rightBase)
362                                    (rightResult rightBase rest)))
363                                tail)))))))))))))))

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.