20 lines
388 B
Plaintext
20 lines
388 B
Plaintext
// the tail of an array
|
|
local tail(array) = std.makeArray(
|
|
std.length(array) -1,
|
|
function(x) array[x + 1],
|
|
);
|
|
local compose(functions) =
|
|
if std.length(functions) == 0
|
|
then
|
|
function(object) object
|
|
else
|
|
function(object) compose(
|
|
tail(
|
|
functions,
|
|
)
|
|
)(
|
|
functions[0](object)
|
|
);
|
|
// compose an array of functions
|
|
compose
|