packages feed

phino-0.0.152: test-resources/morph-packs/parks-a-premise-that-runs-out-of-cycles.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# The same premise under '_partial': the run parks where 𝕄 reached, the
# dispatch whose 'normalize' premise ran out of '--max-cycles' (#1496).
location: 'Q.x'
partial: true
input: |
  ⟦
    tuple(length, head, tail) ↦ ⟦ empty ↦ ⟦ ⟧ ⟧,
    map(pairs) ↦ ⟦
      φ ↦ ctor(
        entries ↦ pairs.length.eq( 0 ).if(
          Φ.tuple.empty,
          walk( tup ↦ pairs ).φ
        )
      ),
      ctor(entries) ↦ ⟦ keys ↦ entries ⟧,
      walk(ρ, tup) ↦ ⟦
        φ ↦ tup.length.eq( 0 ).if( Φ.tuple.empty, prev ),
        prev ↦ ρ.walk( tup ↦ tup.tail ).φ
      ⟧
    ⟧,
    x ↦ Φ.map(
      pairs ↦ Φ.tuple(
        length ↦ L_len:λ, head ↦ L_head:λ, tail ↦ L_tail:λ
      )
    ).keys
  ⟧
result: |
  ⟦
    pairs ↦ Φ.tuple(
      length ↦ L_len:λ, head ↦ L_head:λ, tail ↦ L_tail:λ
    ),
    φ ↦ ctor(
      entries ↦ pairs.length.eq( 0 ).if(
        Φ.tuple.empty,
        walk( tup ↦ pairs ).φ
      )
    ),
    ctor(entries) ↦ ⟦ keys ↦ entries ⟧,
    walk(ρ, tup) ↦ ⟦
      φ ↦ tup.length.eq( 0 ).if( Φ.tuple.empty, prev ),
      prev ↦ ρ.walk( tup ↦ tup.tail ).φ
    ⟧
  ⟧.keys