Доказательство и выводы
Vadim Yalo
274

const map = (f, xs) => xs.reduceRight(
(acc, x) => cons(f(x), acc), [])
)
// [2, 3, 4]
map(x => x + 1)([1, 2, 3])

Вообще вот так должно быть, уже народ написал:

const map = (f, xs) => xs.reduceRight((acc, x) => cons(f(x), acc), [])
// [2, 3, 4]
map(x => x + 1, [1, 2, 3])

Ну или наоборот, вариант с каррированием:

const map = (f) => (xs) => xs.reduceRight((acc, x) => cons(f(x), acc), [])
// [2, 3, 4]
map(x => x + 1)([1, 2, 3])

То, что в статье, просто не работает-)

Ну и далее по тексту такая же история

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.