packages feed

eo-phi-normalizer-3.0.0: data/0.49.4/org/eolang/structs/list.phi

{⟦
  org() ↦ ⟦
    eolang() ↦ ⟦
      structs() ↦ ⟦
        list(origin) ↦ ⟦
          φ ↦ ξ.origin,
          is-empty() ↦ ⟦
            φ ↦ 0.eq(ξ.ρ.origin.length)
          ⟧,
          with(x) ↦ ⟦
            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))
          ⟧,
          withi(index, item) ↦ ⟦
            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(
              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))
            )
          ⟧,
          reducedi(start, func) ↦ ⟦
            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,
            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),
            rec-reduced(accum, index) ↦ ⟦
              idx-as-number ↦ ξ.index.as-number,
              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,
              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(
                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)
              ),
              accumulated ↦ ξ.ρ.func(
                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number
              )
            ⟧
          ⟧,
          reduced(start, func) ↦ ⟦
            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),
            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦
              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)
            ⟧
          ⟧,
          mappedi(func) ↦ ⟦
            φ ↦ ξ.ρ.ρ.list(
              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)
            ),
            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦
              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))
            ⟧
          ⟧,
          mapped(func) ↦ ⟦
            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),
            auto-named-attr-at-103-30(item, idx) ↦ ⟦
              φ ↦ ξ.ρ.func(ξ.item)
            ⟧
          ⟧,
          eachi(func) ↦ ⟦
            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),
            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦
              φ ↦ Φ̇.seq(
                Φ̇.tuple(
                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)
                )
              )
            ⟧
          ⟧,
          each(func) ↦ ⟦
            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),
            auto-named-attr-at-124-32(item, index) ↦ ⟦
              φ ↦ ξ.ρ.func(ξ.item)
            ⟧
          ⟧,
          withouti(i) ↦ ⟦
            φ ↦ ξ.ρ.ρ.list(
              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)
            ),
            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦
              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))
            ⟧
          ⟧,
          without(element) ↦ ⟦
            φ ↦ ξ.ρ.ρ.list(
              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)
            ),
            auto-named-attr-at-142-20(accum, item) ↦ ⟦
              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))
            ⟧
          ⟧,
          eq(other) ↦ ⟦
            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(
              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)
            ),
            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦
              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))
            ⟧
          ⟧,
          concat(passed) ↦ ⟦
            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(
              ξ.ρ,
              ⟦
                φ ↦ ξ.accum.with(ξ.item),
                accum ↦ ∅,
                item ↦ ∅
              ⟧
            )
          ⟧,
          index-of(wanted) ↦ ⟦
            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),
            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦
              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)
            ⟧
          ⟧,
          last-index-of(wanted) ↦ ⟦
            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),
            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦
              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)
            ⟧
          ⟧,
          contains(element) ↦ ⟦
            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not
          ⟧,
          sorted() ↦ ⟦
            φ ↦ ξ.ρ
          ⟧,
          filteredi(func) ↦ ⟦
            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,
            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),
            rec-filtered(idx-as-bytes, accum) ↦ ⟦
              original ↦ ξ.ρ.ρ.origin,
              index ↦ ξ.idx-as-bytes.as-number,
              item ↦ ξ.ρ.ρ.origin.at(ξ.index),
              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(
                ξ.accum,
                ξ.ρ.rec-filtered(
                  1.plus(ξ.index).as-bytes,
                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)
                )
              )
            ⟧
          ⟧,
          filtered(func) ↦ ⟦
            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),
            auto-named-attr-at-243-32(item, index) ↦ ⟦
              φ ↦ ξ.ρ.func(ξ.item)
            ⟧
          ⟧,
          head(index) ↦ ⟦
            idx ↦ Φ̇.dataized(ξ.index).as-bytes,
            φ ↦ Φ̇.switch(
              Φ̇.tuple(
                Φ̇.tuple(
                  Φ̇.tuple(
                    Φ̇.tuple(
                      Φ̇.tuple.empty,
                      Φ̇.tuple(
                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)
                      )
                    ),
                    Φ̇.tuple(
                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)
                    )
                  ),
                  Φ̇.tuple(
                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ
                  )
                ),
                Φ̇.tuple(
                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),
                  ξ.ρ.ρ.list(
                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)
                  )
                )
              )
            ),
            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦
              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))
            ⟧
          ⟧,
          tail(index) ↦ ⟦
            idx ↦ Φ̇.dataized(ξ.index).as-bytes,
            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,
            φ ↦ 0.gt(ξ.start).if(
              ξ.ρ,
              ξ.ρ.ρ.list(
                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)
              )
            ),
            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦
              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)
            ⟧
          ⟧
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧,
    λ ⤍ Package
  ⟧
⟧}