Source/Packages

Runtime.NativeCombine

packages/execution/src/Runtime/NativeCombine.alpha

874 lines55 declarations36.9 KiBSHA-256 10cc50beeee8

def · lines 502–532

nativeCombineTransfer

Full file
502def nativeCombineTransfer =
503  (lambda unrestricted placement : (family NativeCombinePlacement) .
504    (lambda unrestricted descriptor : (pi unrestricted peer : Nat . (family NativePhysicalOperand)) .
505      (lambda unrestricted direction : (family ProtocolDirection) .
506        (lambda unrestricted identity : (family RegionTransferIdentity) .
507          (lambda unrestricted value : (family RegionTransferIdentity) .
508            (lambda unrestricted tail : (family NativePhysicalCommands) .
509              (let unrestricted frame =
510                (nativeCombineFrame placement value)
511                in
512                (eliminate
513                  ProtocolDirection
514                  (lambda unrestricted current : (family ProtocolDirection) .
515                    (family NativePhysicalCommands))
516                  direction
517                  (branch
518                    ProtocolSend
519                    .
520                    (nativePeerIO
521                      (descriptor (regionTransferReceiver identity))
522                      1
523                      frame
524                      (nativeFrameAdvance
525                        frame
526                        (constructor NativeFrameTerminal NativeFrameSendComplete)
527                        0
528                        tail)))
529                  (branch
530                    ProtocolReceive
531                    .
532                    (nativePeerIO (descriptor (regionTransferSender identity)) 0 frame 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.