derw
Version:
An Elm-inspired language that transpiles to TypeScript
31 lines (30 loc) • 734 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.kernelLength = kernelLength;
exports.kernelEmptyList = kernelEmptyList;
exports.kernelSort = kernelSort;
exports.kernelSortBy = kernelSortBy;
exports.kernelStatefulFold = kernelStatefulFold;
function kernelLength(xs) {
return xs.length;
}
function kernelEmptyList() {
return [];
}
function kernelSort(xs) {
const ys = [...xs];
ys.sort();
return ys;
}
function kernelSortBy(fn, xs) {
const ys = [...xs];
ys.sort(fn);
return ys;
}
function kernelStatefulFold(fn, init, items) {
let currentState = init;
for (const item of items) {
currentState = fn(item, currentState);
}
return currentState;
}