phino-0.0.154: 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):
π(Ξ¦.aπ΅0):
πΒ·1Β·1 := Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π1:Ξ» ) )
πΌ(L_dataized):
π»(Ξ¦.aπ΅1):
π(Ξ¦.aπ΅1):
πΒ·2Β·1 := Ξ¦.bytes( Ο β¦ π1:Ξ» )
πΏ1Β·2 := π»(π1:Ξ») # π»(ΞΎ.target)
πΒ·2Β·2 := Ξ¦.bytes( Ο β¦ π3:Ξ» ) # π
π(πΒ·2Β·2):
πΒ·2Β·3 := Ξ¦.bytes( Ο β¦ π3:Ξ» )
πΒ·2Β·4 := πΒ·2Β·3 # π(πΒ·2Β·2)
π1Β·1 := π3:Ξ» # π(ΞΎ.x)
π(Ξ¦.aπ΅2):
πΒ·1Β·2 := Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π2:Ξ» ) )
πΌ(L_dataized):
π»(Ξ¦.aπ΅3):
π(Ξ¦.aπ΅3):
πΒ·3Β·1 := Ξ¦.bytes( Ο β¦ π2:Ξ» )
πΏ1Β·3 := π»(π2:Ξ») # π»(ΞΎ.target)
πΒ·3Β·2 := Ξ¦.bytes( Ο β¦ π4:Ξ» ) # π
π(πΒ·3Β·2):
πΒ·3Β·3 := Ξ¦.bytes( Ο β¦ π4:Ξ» )
πΒ·3Β·4 := πΒ·3Β·3 # π(πΒ·3Β·2)
π2Β·1 := π4:Ξ» # π(ΞΎ.y)
πΒ·1Β·3 := β¦ x β¦ π3:Ξ», y β¦ π4:Ξ» β§:Ο # π
πΒ·1Β·4 := β¦ x β¦ π3:Ξ», y β¦ π4:Ξ» β§:Ο # π(πΒ·1Β·3)