packages feed

phino-0.0.153: test-resources/evaluate-packs/leaves-unfinished-a-message-no-entry-answers.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The walk reduces the message of the copy a branch raises with like any other
# code, and leaves the call of 'L_number_nope', which no entry answers, as it
# is written, the way it leaves any binding it cannot fire. The 'terminate'
# line spells that message out, so the reader sees the error path is
# unfinished (#1867).
symbolic: |
  - Ξ»: L_number_gt
    dataize:
      𝛿1: $.ρ
      𝛿2: $.x
    𝑛: Ξ¦.bool( Ο† ↦ ⟦ Ξ» ‍ 𝜎 ⟧ )
  - Ξ»: L_number_plus
    dataize:
      𝛿1: $.ρ
      𝛿2: $.x
    𝑛: Ξ¦.number( Ο† ↦ ⟦ Ξ» ‍ 𝜎 ⟧ )
  - Ξ»: L_fork
    dataize:
      𝛿1: $.ρ
    morph:
      𝑛1: $.then
      𝑛2: $.else
    symbolize:
      𝑛3: 𝑛1
      𝑛4: 𝑛2
    join:
      𝑛5: [𝑛3, 𝑛4]
    terminators: [L_throw]
    𝑛: 𝑛5
location: 'Q.@'
deep: true
input: >
  ⟦ bytes(Ο†) ↦ ⟦⟧,
    error(message) ↦ ⟦ Ξ» ‍ L_throw ⟧,
    bool(Ο†) ↦ ⟦ if ↦ ⟦ ρ ↦ βˆ…, then ↦ βˆ…, else ↦ βˆ…, Ξ» ‍ L_fork ⟧ ⟧,
    number(Ο†) ↦ ⟦
      gt(ρ, x) ↦ ⟦ Ξ» ‍ L_number_gt ⟧,
      plus(ρ, x) ↦ ⟦ Ξ» ‍ L_number_plus ⟧,
      nope(ρ, x) ↦ ⟦ Ξ» ‍ L_number_nope ⟧ ⟧,
    @ ↦ 5.gt( 0 ).if( then ↦ 1, else ↦ Ξ¦.error( message ↦ 7.nope( 8 ) ) ).plus( 6 ) ⟧
result: |-
  ⟦ Ο† ↦ 𝜎3:Ξ», gt(x) ↦ L_number_gt:Ξ», plus(x) ↦ L_number_plus:Ξ», nope(x) ↦ L_number_nope:Ξ» ⟧
protocol: |
  𝕄(Ξ¦.Ο†):
    𝑛·0Β·1 := 5
    𝑛·0Β·2 := 𝑛·0Β·1.gt( x ↦ 0 )
    𝔼(L_number_gt):
      𝔻(Ξ¦.a🌡0):
        𝕄(Ξ¦.a🌡0):
          𝑛·1Β·1 := 5
          𝑛·1Β·2 := Ξ¦.bytes( Ο† ↦ 40-14-00-00-00-00-00-00:Ξ” )
        𝛿·1Β·1 := 40-14-00-00-00-00-00-00  # 5.0
      𝛿1Β·1 := 𝛿·1Β·1  # 𝔻(ΞΎ.ρ)
      𝔻(Ξ¦.a🌡1):
        𝕄(Ξ¦.a🌡1):
          𝑛·1Β·3 := 0
          𝑛·1Β·4 := Ξ¦.bytes( Ο† ↦ 00-00-00-00-00-00-00-00:Ξ” )
        𝛿·1Β·2 := 00-00-00-00-00-00-00-00  # 0.0
      𝛿2Β·1 := 𝛿·1Β·2  # 𝔻(ΞΎ.x)
      𝑛·1Β·5 := Ξ¦.bool( Ο† ↦ 𝜎1:Ξ» )  # 𝑛
      𝕄(𝑛·1Β·5):
        𝑛·1Β·6 := Ξ¦.bool( Ο† ↦ 𝜎1:Ξ» )
      𝑛·1Β·7 := 𝑛·1Β·6  # 𝕄(𝑛·1Β·5)
    𝑛·0Β·3 := 𝑛·1Β·6.if( then ↦ 1 )
    𝑛·0Β·4 := 𝑛·0Β·3( else ↦ Ξ¦.error( message ↦ 7.nope( 8 ) ) )
    𝔼(L_fork):
      𝔻(Ξ¦.a🌡2):
        𝕄(Ξ¦.a🌡2):
          𝑛·2Β·1 := Ξ¦.bool( Ο† ↦ 𝜎1:Ξ» )
      𝛿1Β·2 := 𝔻(𝜎1:Ξ»)  # 𝔻(ΞΎ.ρ)
      𝕄(Ξ¦.a🌡3):
        𝑛·2Β·2 := 1
        𝕄(Ξ¦.a🌡3.Ο†):
          𝑛·2Β·3 := Ξ¦.bytes( Ο† ↦ 3F-F0-00-00-00-00-00-00:Ξ” )
      𝑛1Β·2 := 𝑛·2Β·2  # 𝕄(ΞΎ.then)
      𝕄(Ξ¦.a🌡4):
        𝑛·2Β·4 := Ξ¦.error( message ↦ 7.nope( 8 ) )
        𝕄(Ξ¦.a🌡4.message):
          𝑛·2Β·5 := Ξ¦.bytes( Ο† ↦ 40-1C-00-00-00-00-00-00:Ξ” )
          𝑛·2Β·6 := Ξ¦.number( Ο† ↦ 𝑛·2Β·5 )
          𝑛·2Β·7 := Ξ¦.number( Ο† ↦ 𝑛·2Β·5 )
          𝑛·2Β·8 := Ξ¦.bytes( Ο† ↦ 40-20-00-00-00-00-00-00:Ξ” )
          𝑛·2Β·9 := Ξ¦.number( Ο† ↦ 𝑛·2Β·8 )
          𝑛·2Β·10 := Ξ¦.number( Ο† ↦ 𝑛·2Β·5 )
          𝑛·2Β·11 := 𝑛·2Β·10.nope( x ↦ 𝑛·2Β·9 )
      𝑛2Β·2 := 𝑛·2Β·4  # 𝕄(ΞΎ.else)
      𝔻(𝜎2:Ξ») == 3F-F0-00-00-00-00-00-00
      𝑛3Β·2 := ⟦ Ο† ↦ Ξ¦.bytes( Ο† ↦ 𝜎2:Ξ» ), gt(x) ↦ L_number_gt:Ξ», plus(x) ↦ L_number_plus:Ξ», nope(x) ↦ L_number_nope:Ξ» ⟧  # 𝑛1
      𝑛4Β·2 := 𝑛·2Β·4  # 𝑛2
      terminate(𝔻(𝜎1:Ξ»), right, 𝑛·2Β·10.nope( 𝑛·2Β·9 ))  # 𝑛4
      𝑛5Β·2 := 𝑛3Β·2  # [𝑛3, 𝑛4]
      𝑛·2Β·12 := 𝑛5Β·2  # 𝑛
      𝑛·2Β·13 := 𝑛5Β·2  # 𝕄(𝑛·2Β·12)
    𝑛·0Β·5 := Ξ¦.number( Ο† ↦ Ξ¦.bytes( Ο† ↦ 𝜎2:Ξ» ) ).plus( x ↦ 6 )
    𝕄(Ξ¦.Ο†.x):
      𝑛·0Β·6 := Ξ¦.bytes( Ο† ↦ 40-18-00-00-00-00-00-00:Ξ” )
      𝑛·0Β·7 := Ξ¦.number( Ο† ↦ 𝑛·0Β·6 )
    𝔼(L_number_plus):
      𝔻(Ξ¦.a🌡5):
        𝕄(Ξ¦.a🌡5):
          𝑛·3Β·1 := Ξ¦.number( Ο† ↦ Ξ¦.bytes( Ο† ↦ 𝜎2:Ξ» ) )
          𝑛·3Β·2 := Ξ¦.bytes( Ο† ↦ 𝜎2:Ξ» )
      𝛿1Β·3 := 𝔻(𝜎2:Ξ»)  # 𝔻(ΞΎ.ρ)
      𝔻(Ξ¦.a🌡6):
        𝕄(Ξ¦.a🌡6):
          𝑛·3Β·3 := Ξ¦.number( Ο† ↦ 𝑛·0Β·6 )
          𝑛·3Β·4 := Ξ¦.bytes( Ο† ↦ 40-18-00-00-00-00-00-00:Ξ” )
        𝛿·3Β·1 := 40-18-00-00-00-00-00-00  # 6.0
      𝛿2Β·3 := 𝛿·3Β·1  # 𝔻(ΞΎ.x)
      𝑛·3Β·5 := Ξ¦.number( Ο† ↦ 𝜎3:Ξ» )  # 𝑛
      𝕄(𝑛·3Β·5):
        𝑛·3Β·6 := Ξ¦.number( Ο† ↦ 𝜎3:Ξ» )
      𝑛·3Β·7 := 𝑛·3Β·6  # 𝕄(𝑛·3Β·5)