phino-0.0.157: test-resources/evaluate-packs/parks-a-firing-whose-deferred-argument-got-stuck.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# A 'defer' line works out every argument of a copy that is no bare symbol
# before it writes the call. Here the argument 'x' fires 'L_outer', whose
# operand gets stuck on 'L_none'. Under '--partial' the firing of 'L_pair'
# gets stuck right there, so no 'deferred' line is written and the site of
# 'L_pair' is parked. Before #2014 the argument was kept as written and the
# entry went on as if it were worked out.
symbolic: |
- Ξ»: L_outer
dataize:
πΏ1: ΞΎ.arg
π: β¦ Ξ» β€ π β§
- Ξ»: L_pair
morph:
π1: $.c
defer:
π2: π1
π: π2
location: 'Q.p'
partial: true
input: >
β¦ box β¦ β¦ s β¦ β
, x β¦ β
, Ο β¦ ΞΎ.s.next β§,
p β¦ β¦
c β¦ Ξ¦.box( β¦ Ξ» β€ π1 β§, β¦ arg β¦ β¦ Ξ» β€ L_none β§, Ξ» β€ L_outer β§.Ο ),
Ξ» β€ L_pair β§.Ο β§
result: 'β¦ c β¦ Ξ¦.box( β¦ Ξ» β€ π1 β§, β¦ arg β¦ β¦ Ξ» β€ L_none β§, Ξ» β€ L_outer β§.Ο ), Ξ» β€ L_pair β§.Ο'
protocol: |
π(Ξ¦.p):
πΌ(L_pair):
π(Ξ¦.aπ΅0):
πΒ·1Β·1 := Ξ¦.box( s β¦ π1:Ξ» )
πΒ·1Β·2 := πΒ·1Β·1( x β¦ β¦ arg β¦ L_none:Ξ», Ξ» β€ L_outer β§.Ο )
π1Β·1 := πΒ·1Β·2 # π(ΞΎ.c)
π(π1.x):
πΌ(L_outer):
π»(Ξ¦.aπ΅1):
unanswered L_none # π»(L_none:Ξ»)
stuck L_none
stuck L_none