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