phino-0.0.158: test-resources/evaluate-packs/tells-two-symbols-of-one-datum-apart-between-firings.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The memo of '--acyclic=plausible' keeps an answer by the operands a firing
# brought down, and a symbol is an operand of its own: every symbol dataizes
# to the one manufactured datum, so two firings over two symbols come down to
# the same bytes, yet they stand for two values nobody worked out. A memo
# keyed on the bytes would answer the second firing with the symbol the first
# one minted and make the two values one; this one keys on the symbol, so each
# firing mints a symbol of its own. The two firings are the two 'morph'
# operands of 'L_pair', each fired by the dispatch of Ο off its call.
symbolic: |
- Ξ»: L_dataized
dataize:
πΏ1: $.target
π: Ξ¦.bytes( Ο β¦ β¦ Ξ» β€ π β§ )
- Ξ»: L_pair
morph:
π1: $.x
π2: $.y
π: β¦ Ο β¦ β¦ x β¦ π1, y β¦ π2 β§ β§
location: 'Q.@'
acyclic: plausible
input: >
β¦ bytes(Ο) β¦ β¦β§,
dataized(target) β¦ L_dataized:Ξ»,
pair(x, y) β¦ L_pair:Ξ»,
Ο β¦ Ξ¦.pair(
Ξ¦.dataized( Ξ¦.bytes( Ο β¦ π1:Ξ» ) ).Ο,
Ξ¦.dataized( Ξ¦.bytes( Ο β¦ π2:Ξ» ) ).Ο ).Ο β§
result: 'β¦ x β¦ π3:Ξ», y β¦ π4:Ξ» β§'
protocol: |
π(Ξ¦.Ο):
πΒ·0Β·1 := Ξ¦.pair( x β¦ Ξ¦.dataized( Ξ¦.bytes( Ο β¦ π1:Ξ» ) ).Ο )
πΒ·0Β·2 := πΒ·0Β·1( y β¦ Ξ¦.dataized( Ξ¦.bytes( Ο β¦ π2:Ξ» ) ).Ο )
πΌ(L_pair):
π(ΞΎ.x):
πΒ·1Β·1 := Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π1:Ξ» ) )
πΌ(L_dataized):
π»(ΞΎ.target):
π(ΞΎ.target):
πΒ·2Β·1 := Ξ¦.bytes( Ο β¦ π1:Ξ» )
morphed πΒ·2Β·2 := πΒ·2Β·1
boxed πΒ·2Β·3 := πΒ·2Β·2.Ο
πΏΒ·2Β·1 := π»(π1:Ξ»)
πΏ1Β·2 := πΏΒ·2Β·1 # π»(ΞΎ.target)
πΒ·2Β·4 := Ξ¦.bytes( Ο β¦ π3:Ξ» ) # π
π(πΒ·2Β·4):
πΒ·2Β·5 := Ξ¦.bytes( Ο β¦ π3:Ξ» )
morphed πΒ·2Β·6 := πΒ·2Β·5
πΒ·2Β·7 := πΒ·2Β·6 # π(πΒ·2Β·4)
morphed πΒ·1Β·2 := π3:Ξ»
π1Β·1 := πΒ·1Β·2 # π(ΞΎ.x)
π(ΞΎ.y):
πΒ·1Β·3 := Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π2:Ξ» ) )
πΌ(L_dataized):
π»(ΞΎ.target):
π(ΞΎ.target):
πΒ·3Β·1 := Ξ¦.bytes( Ο β¦ π2:Ξ» )
morphed πΒ·3Β·2 := πΒ·3Β·1
boxed πΒ·3Β·3 := πΒ·3Β·2.Ο
πΏΒ·3Β·1 := π»(π2:Ξ»)
πΏ1Β·3 := πΏΒ·3Β·1 # π»(ΞΎ.target)
πΒ·3Β·4 := Ξ¦.bytes( Ο β¦ π4:Ξ» ) # π
π(πΒ·3Β·4):
πΒ·3Β·5 := Ξ¦.bytes( Ο β¦ π4:Ξ» )
morphed πΒ·3Β·6 := πΒ·3Β·5
πΒ·3Β·7 := πΒ·3Β·6 # π(πΒ·3Β·4)
morphed πΒ·1Β·4 := π4:Ξ»
π2Β·1 := πΒ·1Β·4 # π(ΞΎ.y)
πΒ·1Β·5 := β¦ x β¦ π3:Ξ», y β¦ π4:Ξ» β§:Ο # π
π(πΒ·1Β·5):
morphed πΒ·1Β·6 := β¦ x β¦ π3:Ξ», y β¦ π4:Ξ» β§:Ο
πΒ·1Β·7 := πΒ·1Β·6 # π(πΒ·1Β·5)
morphed πΒ·0Β·3 := β¦ x β¦ π3:Ξ», y β¦ π4:Ξ» β§