packages feed

phino-0.0.157: test-resources/evaluate-packs/diverges-on-two-sides-of-metas-that-differ.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The sides of a join may be metas 'morph' bound (#1967). The join takes them
# as they are and morphs nothing again. They differ in a datum, so no join
# makes one term of them, and the firing writes 'diverged' with the metas of
# the lines that bound the two sides, instead of splitting the run (#1996).
symbolic: |
  - Ξ»: L_fork
    dataize:
      𝛿1: $.c
    morph:
      𝑛1: $.a
      𝑛2: $.b
    join:
      on: 𝛿1
      left: 𝑛1
      right: 𝑛2
location: 'Q.y'
input: '⟦ y ↦ ⟦ c ↦ ⟦ Ξ» ‍ 𝜎1 ⟧, a ↦ ⟦ Ο† ↦ ⟦ Ξ” ‍ 01- ⟧ ⟧, b ↦ ⟦ Ο† ↦ ⟦ Ξ” ‍ 02- ⟧ ⟧, Ξ» ‍ L_fork ⟧.Ο† ⟧'
fails: "No entry of --symbolic answers the Ξ» function 'L_fork'"
protocol: |
  𝕄(Ξ¦.y):
    𝔼(L_fork):
      𝛿1Β·1 := 𝔻(𝜎1:Ξ»)  # 𝔻(ΞΎ.c)
      𝑛1Β·1 := 01-:Ξ”:Ο†  # 𝕄(ΞΎ.a)
      𝑛2Β·1 := 02-:Ξ”:Ο†  # 𝕄(ΞΎ.b)
      diverged 𝑛1Β·1 vs 𝑛2Β·1  # they differ at .Ο†.Ξ”, and the join names no otherwise