phino-0.0.152: test-resources/evaluate-packs/fires-a-sibling-at-the-depth-the-head-pass-began-at.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The head pass of π takes four steps through the four Ο layers of 'Ξ¦.e'
# before it reads 'eq' of the inner formation, whose 'Ο' reads its sibling
# 'm'. Under '--deep' the head pass fires 'm' first and writes its answer back
# (#1727). Before #1731 it fired 'm' at the depth of its fourth step, so the
# firing ran out of ten steps, and 'L_dataized' fired three times without
# reaching the answer. Now the head pass fires 'm' at the depth it began at,
# the way the deep walk at the end of π fires it, and 'm' fires once.
symbolic: |
- Ξ»: L_dataized
dataize:
πΏ1: $.target
π: Ξ¦.bytes( Ο β¦ β¦ Ξ» β€ π β§ )
location: 'Q.e'
deep: true
partial: true
acyclic: plausible
steps: 10
input: >
β¦ bytes(Ο) β¦ β¦ eq(Ο, b) β¦ L_bytes_eq:Ξ» β§,
dataized(target) β¦ L_dataized:Ξ»,
e β¦ β¦ Ο β¦ β¦ Ο β¦ β¦ Ο β¦ β¦ Ο β¦ m, m β¦ Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π1:Ξ» ) ) β§ β§ β§ β§.eq β§
result: 'β¦ b β¦ β
, Ξ» β€ L_bytes_eq β§'
protocol: |
π(Ξ¦.e):
πΒ·0Β·1 := Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π1:Ξ» ) )
πΌ(L_dataized):
π»(Ξ¦.aπ΅0):
π(Ξ¦.aπ΅0):
πΒ·1Β·1 := Ξ¦.bytes( Ο β¦ π1:Ξ» )
πΏ1Β·1 := π»(π1:Ξ») # π»(ΞΎ.target)
πΒ·1Β·2 := Ξ¦.bytes( Ο β¦ π2:Ξ» ) # π
π(πΒ·1Β·2):
πΒ·1Β·3 := Ξ¦.bytes( Ο β¦ π2:Ξ» )
πΒ·1Β·4 := πΒ·1Β·3 # π(πΒ·1Β·2)