packages feed

phino-0.0.152: test-resources/evaluate-packs/mints-past-the-symbols-a-stuck-firing-minted.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The firing of 'L_inner' mints 𝜎1 for its answer and then gets stuck, since
# nothing answers a dispatch off a symbol, and '--partial' parks its site. The
# protocol keeps what that firing wrote, so 𝜎1 is spelled there already. Before
# #1738 the parked frame handed back the state it started from, the count of
# minted symbols went back with it, and 'L_outer' minted 𝜎1 once more, for
# another value. Now the count never goes back, and 'L_outer' mints 𝜎2.
symbolic: |
  - Ξ»: L_inner
    𝑛: ⟦ Ξ» ‍ 𝜎 ⟧.foo
  - Ξ»: L_outer
    morph:
      𝑛1: $.a
    𝑛: ⟦ Ξ» ‍ 𝜎 ⟧
location: 'Q.y'
partial: true
input: '⟦ y ↦ ⟦ a ↦ ⟦ Ξ» ‍ L_inner ⟧.v, Ξ» ‍ L_outer ⟧.z ⟧'
result: '𝜎2:λ.z'
protocol: |
  𝕄(Ξ¦.y):
    𝔼(L_outer):
      𝕄(Ξ¦.a🌡0):
        𝔼(L_inner):
          𝑛·2Β·1 := 𝜎1:Ξ».foo  # 𝑛
          𝕄(𝑛·2Β·1):
            unanswered(𝜎1)  # 𝕄(𝜎1:Ξ»)
          stuck(𝜎1)
      𝑛1Β·1 := L_inner:Ξ».v  # 𝕄(ΞΎ.a)
      𝑛·1Β·1 := 𝜎2:Ξ»  # 𝑛
      𝑛·1Β·2 := 𝜎2:Ξ»  # 𝕄(𝑛·1Β·1)
    unanswered(𝜎2)  # 𝕄(𝜎2:Ξ»)