22 lines
780 B
JavaScript
22 lines
780 B
JavaScript
// https://babeljs.io/docs/en/babel-plugin-proposal-partial-application
|
|
|
|
function add(x, y) { return x + y; }
|
|
|
|
const addOne = add(1, ?); // apply from the left
|
|
addOne(2); // 3
|
|
|
|
const addTen = add(?, 10); // apply from the right
|
|
addTen(2); // 12
|
|
|
|
let newScore = player.score
|
|
|> add(7, ?)
|
|
|> clamp(0, 100, ?); // shallow stack, the pipe to `clamp` is the same frame as the pipe to `add`.
|
|
|
|
f(x, ?) // partial application from left
|
|
f(?, x) // partial application from right
|
|
f(?, x, ?) // partial application for any arg
|
|
o.f(x, ?) // partial application from left
|
|
o.f(?, x) // partial application from right
|
|
o.f(?, x, ?) // partial application for any arg
|
|
super.f(?) // partial application allowed for call on |SuperProperty|
|