phino-0.0.152: test-resources/evaluate-packs/keeps-the-name-of-an-object-the-walk-computed-inside.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The '--deep' walk stands its answers in the place of what it computed, inside
# the bindings of the object it walks, and makes no new object by doing so
# (#1757). The operand of 'L_entry' is the object 'Ξ¦.dbl' made, named πΒ·1Β·1 by
# its 'applied' line, and the walk computes its 'Ο' and its 'v' before π hands
# it back. It is still πΒ·1Β·1 then: in the line binding the operand, in the term
# the entry wrote, in the argument 'root' was applied to, and in the formation
# π» gets into when 'L_root' brings that argument down.
symbolic: |
- Ξ»: L_entry
morph:
π1: $.x
π: Ξ¦.root( v β¦ π1 )
- Ξ»: L_root
dataize:
πΏ1: $.v
π: β¦ Ξ» β€ π β§
- Ξ»: L_twice
dataize:
πΏ1: $.Ο
π: Ξ¦.num( Ο β¦ β¦ Ξ» β€ π β§ )
location: 'Q.y'
deep: true
input: >
β¦ num β¦ β¦ Ο β¦ β
, twice β¦ β¦ Ο β¦ β
, Ξ» β€ L_twice β§ β§,
dbl β¦ β¦ v β¦ β
, Ο β¦ ΞΎ.v.twice β§,
root(v) β¦ β¦ Ξ» β€ L_root β§,
y β¦ β¦ Ξ» β€ L_entry, x β¦ Ξ¦.dbl( v β¦ Ξ¦.num( Ο β¦ β¦ Ξ β€ 2A- β§ ) ) β§ β§
result: 'π2:Ξ»'
protocol: |
π(Ξ¦.y):
π(Ξ¦.y.x):
πΒ·0Β·1 := Ξ¦.num( Ο β¦ 2A-:Ξ )
πΒ·0Β·2 := Ξ¦.dbl( v β¦ πΒ·0Β·1 )
πΌ(L_entry):
π(Ξ¦.aπ΅0):
πΒ·1Β·1 := Ξ¦.dbl( v β¦ πΒ·0Β·1 )
π(Ξ¦.aπ΅0.v):
πΒ·1Β·2 := Ξ¦.num( Ο β¦ 2A-:Ξ )
π(Ξ¦.aπ΅0.Ο):
πΒ·1Β·3 := Ξ¦.num( Ο β¦ 2A-:Ξ )
πΒ·1Β·4 := Ξ¦.num( Ο β¦ 2A-:Ξ )
πΌ(L_twice):
π»(Ξ¦.aπ΅1):
π(Ξ¦.aπ΅1):
πΒ·2Β·1 := Ξ¦.num( Ο β¦ 2A-:Ξ )
πΏΒ·2Β·1 := 2A-
πΏ1Β·2 := πΏΒ·2Β·1 # π»(ΞΎ.Ο)
πΒ·2Β·2 := Ξ¦.num( Ο β¦ π1:Ξ» ) # π
π(πΒ·2Β·2):
πΒ·2Β·3 := Ξ¦.num( Ο β¦ π1:Ξ» )
πΒ·2Β·4 := πΒ·2Β·3 # π(πΒ·2Β·2)
π1Β·1 := πΒ·1Β·1 # π(ΞΎ.x)
πΒ·1Β·5 := Ξ¦.root( v β¦ πΒ·1Β·1 ) # π
π(πΒ·1Β·5):
πΒ·1Β·6 := Ξ¦.root( v β¦ πΒ·1Β·1 )
πΒ·1Β·7 := πΒ·1Β·6 # π(πΒ·1Β·5)
πΌ(L_root):
πΏ1Β·3 := π»(π1:Ξ») # π»(ΞΎ.v)
πΒ·3Β·1 := π2:Ξ» # π
πΒ·3Β·2 := π2:Ξ» # π(πΒ·3Β·1)