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
⟧
⟧}