62 lines
1011 B
Plaintext
62 lines
1011 B
Plaintext
APPEND
|
|
=LAMBDA(xs,
|
|
LAMBDA(ys,
|
|
LET(
|
|
nx, ROWS(xs),
|
|
rowIndexes, SEQUENCE(nx + ROWS(ys)),
|
|
colIndexes, SEQUENCE(
|
|
1,
|
|
MAX(COLUMNS(xs), COLUMNS(ys))
|
|
),
|
|
IF(rowIndexes <= nx,
|
|
INDEX(xs, rowIndexes, colIndexes),
|
|
INDEX(ys, rowIndexes - nx, colIndexes)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
ENUMFROMTO
|
|
=LAMBDA(a,
|
|
LAMBDA(z,
|
|
SEQUENCE(1 + z - a, 1, a, 1)
|
|
)
|
|
)
|
|
|
|
|
|
FOLDL
|
|
=LAMBDA(op,
|
|
LAMBDA(a,
|
|
LAMBDA(xs,
|
|
IF(
|
|
2 > ROWS(xs),
|
|
op(a)(xs),
|
|
FOLDL(op)(
|
|
op(a)(
|
|
HEAD(xs)
|
|
)
|
|
)(
|
|
TAIL(xs)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
HEAD
|
|
=LAMBDA(xs,
|
|
INDEX(xs, 1, SEQUENCE(1, COLUMNS(xs)))
|
|
)
|
|
|
|
|
|
TAIL
|
|
=LAMBDA(xs,
|
|
INDEX(
|
|
xs,
|
|
SEQUENCE(ROWS(xs) - 1, 1, 2, 1),
|
|
SEQUENCE(1, COLUMNS(xs))
|
|
)
|
|
)
|