phino-0.0.155: test-resources/evaluate-packs/fires-what-a-rewrite-line-unwrapped.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The lines of an entry run in the order of the metas they read, not of their
# blocks: the 'evaluate' line fires what the 'rewrite' line unwrapped, so the
# 'rewrite' line runs first, although its block comes later (#1903).
symbolic: |
- Ξ»: L_inner
π: β¦ Ο β¦ β¦ Ξ» β€ π β§ β§
- Ξ»: L_pick
morph:
π1: $.x
rewrite:
π2:
of: π1
rules:
- name: unwrap
pattern: β¦ Ο β¦ π1 β§
result: π1
evaluate:
π3: π2
π: π3
location: 'Q.y'
input: 'β¦ y β¦ β¦ x β¦ β¦ Ο β¦ β¦ Ξ» β€ L_inner β§ β§, Ξ» β€ L_pick β§.Ο β§'
result: 'π1:Ξ»'
protocol: |
π(Ξ¦.y):
πΌ(L_pick):
π1Β·1 := L_inner:Ξ»:Ο # π(ΞΎ.x)
π2Β·1 := L_inner:Ξ» # π1
πΌ(L_inner): # πΌ(π2)
πΒ·2Β·1 := π1:Ξ»:Ο # π
πΒ·2Β·2 := π1:Ξ»:Ο # π(πΒ·2Β·1)
π3Β·1 := πΒ·2Β·2 # πΌ(π2)
πΒ·1Β·1 := π3Β·1 # π
πΒ·1Β·2 := π3Β·1 # π(πΒ·1Β·1)