packages feed

phino-0.0.152: test-resources/evaluate-packs/parks-a-fork-whose-branches-do-not-join.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# Branches differing anywhere but in a symbol are not joined, and that is the
# whole rule: no fallback and no second alternative. Bringing two branches to
# one shape is the program's business rather than phino's, so a fork whose
# branches differ in structure gets stuck the way a Ξ» function no entry answers
# does and '--partial' parks the site instead of failing the run.
symbolic: |
  - Ξ»: L_fork
    morph:
      𝑛1: $.a
      𝑛2: $.b
    join:
      𝑛3: [𝑛1, 𝑛2]
    𝑛: 𝑛3
location: 'Q.y'
partial: true
input: '⟦ y ↦ ⟦ a ↦ ⟦ l ↦ ⟦ Ξ» ‍ 𝜎1 ⟧ ⟧, b ↦ ⟦ l ↦ ⟦ Ξ» ‍ 𝜎2 ⟧, x ↦ ⟦⟧ ⟧, Ξ» ‍ L_fork ⟧.l ⟧'
result: '⟦ a ↦ 𝜎1:Ξ»:l, b ↦ ⟦ l ↦ 𝜎2:Ξ», x ↦ ⟦⟧ ⟧, Ξ» ‍ L_fork ⟧.l'
protocol: |
  𝕄(Ξ¦.y):
    𝔼(L_fork):
      𝑛1Β·1 := 𝜎1:Ξ»:l  # 𝕄(ΞΎ.a)
      𝑛2Β·1 := ⟦ l ↦ 𝜎2:Ξ», x ↦ ⟦⟧ ⟧  # 𝕄(ΞΎ.b)
      stuck(L_fork)