packages feed

phino-0.0.157: test-resources/evaluate-packs/binds-a-copy-over-no-bare-symbol-as-it-is.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# A 'defer' line defers only a copy one of whose arguments reads to a bare
# symbol (#1892, #1933). Here 'Ξ¦.items.tail' reads to an object that knows
# its 'next', so the line binds the copy as it is and the answer carries the
# copy whole. No 'deferred' line is written and no symbol is minted for it.
symbolic: |
  - Ξ»: L_hold
    morph:
      𝑛1: $.b
    defer:
      𝑛2: 𝑛1
    𝑛: ⟦ Ο† ↦ 𝑛2 ⟧
location: 'Q.y'
input: '⟦ step(tup) ↦ ⟦ Ο† ↦ tup.next ⟧, items ↦ ⟦ tail ↦ ⟦ next ↦ ⟦ Ο† ↦ ⟦ Ξ» ‍ 𝜎1 ⟧ ⟧ ⟧ ⟧, y ↦ ⟦ b ↦ Ξ¦.step( tup ↦ Ξ¦.items.tail ), Ξ» ‍ L_hold ⟧.Ο† ⟧'
result: '⟦ tup ↦ Ξ¦.items.tail, Ο† ↦ tup.next ⟧'
protocol: |
  𝕄(Ξ¦.y):
    𝔼(L_hold):
      𝕄(Ξ¦.a🌡0):
        𝑛·1Β·1 := Ξ¦.step( tup ↦ Ξ¦.items.tail )
      𝑛1Β·1 := 𝑛·1Β·1  # 𝕄(ΞΎ.b)
      𝑛2Β·1 := 𝑛·1Β·1  # 𝑛1
      𝑛·1Β·2 := 𝑛·1Β·1:Ο†  # 𝑛
      𝑛·1Β·3 := 𝑛·1Β·1:Ο†  # 𝕄(𝑛·1Β·2)