packages feed

phino-0.0.162: test-resources/evaluate-packs/fires-a-formation-written-in-place-with-its-voids-filled.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The left side of the fork is a formation written in place, not an object of
# the world, with its void 'v' filled by an argument. The 'v' it binds after
# the copy is the void it showed before, not an attribute of its own, so the
# 'evaluate' line fires it as it fires a copy of an object of the world, and
# the join joins the two symbols (#2267).
symbolic: |
  - Ī»: L_fork
    dataize:
      š›æ1: $.on🌵
    morph:
      š‘›1: $.left🌵
      š‘›2: $.right🌵
    evaluate:
      š‘›3: š‘›1
      š‘›4: š‘›2
    join:
      'on': š›æ1
      left: š‘›3
      right: š‘›4
      otherwise: L_fork
  - Ī»: L_box
    š‘›: ⟦ Ī» ā¤ šœŽ ⟧
location: 'Q.y'
partial: true
input: >
  ⟦ x ↦ ⟦ Ī» ā¤ L_fork, on🌵 ↦ šœŽ1:Ī», left🌵 ↦ ⟦ v ↦ āˆ…, Ī» ā¤ L_box ⟧( v ↦ šœŽ2:Ī» ), right🌵 ↦ šœŽ3:Ī» ⟧,
    y ↦ Φ.x.φ ⟧
result: 'šœŽ5:Ī».φ'
protocol: |
  š•„(Φ.y):
    š‘›Ā·0Ā·1 := ⟦ v ↦ āˆ…, Ī» ā¤ L_box ⟧( v ↦ šœŽ2:Ī» )
    š‘›Ā·0Ā·2 := ⟦ v ↦ šœŽ2:Ī», Ī» ā¤ L_box ⟧
    remembered š‘›Ā·0Ā·3 ≔ Φ.x  # ⟦ Ī» ā¤ L_fork, on🌵 ↦ šœŽ1:Ī», left🌵 ↦ š‘›Ā·0Ā·2, right🌵 ↦ šœŽ3:Ī» ⟧
    š”¼(L_fork):
      š”»(ξ.on🌵):
        š›æĀ·1Ā·1 := š”»(šœŽ1:Ī»)
      š›æ1Ā·1 := š›æĀ·1Ā·1  # š”»(ξ.on🌵)
      š•„(ξ.left🌵):
        morphed š‘›Ā·1Ā·1 := š‘›Ā·0Ā·2
      š‘›1Ā·1 := š‘›Ā·0Ā·2  # š•„(ξ.left🌵)
      š•„(ξ.right🌵):
        morphed š‘›Ā·1Ā·2 := šœŽ3:Ī»
      š‘›2Ā·1 := š‘›Ā·1Ā·2  # š•„(ξ.right🌵)
      š”¼(L_box):  # š”¼(š‘›1)
        š‘›Ā·2Ā·1 := šœŽ4:Ī»  # š‘›
        š•„(š‘›Ā·2Ā·1):
          morphed š‘›Ā·2Ā·2 := šœŽ4:Ī»
        š‘›Ā·2Ā·3 := š‘›Ā·2Ā·2  # š•„(š‘›Ā·2Ā·1)
      š‘›3Ā·1 := š‘›Ā·2Ā·3  # š”¼(š‘›1)
      joined šœŽ5 := š›æ1Ā·1 ? šœŽ4 : šœŽ3
      š‘›Ā·1Ā·3 := šœŽ5:Ī»
    unanswered šœŽ5  # š•„(šœŽ5:Ī»)