JSFiddle - React, Tailwind, and code Playground

by muztv

JavaScript

/**
 *  2
 */

const sum = (a, b) => a + b, 
      mul = (a, b) => a * b 

var make = function(x, arr) {
  return typeof x == 'number'
    ? (
        arr ? 
          arr.push(x): 
        arr = [x], (function(x) { return make(x, arr.slice(0))})
    )
    : arr.reduce(x)
}

var x = make(1)(2)(3)
var y = x(4)(5)
document.write("x = make(1)(2)(3)");
document.write("<br />");
document.write("y = x(4)(5)");
document.write("<br />");
document.write("<br />");
document.write("X(sum) = ", x(sum)); // -> X(sum) = 6
document.write("<br />");
document.write("Y(sum) = ", y(sum)); // -> Y(sum) =  15
document.write("<br />");
document.write("Y(10)(sum) = ", y(10)(sum)); // -> Y(sum) = 25
document.write("<br />");
document.write("X(mul) = ", x(mul)); // -> X(mul) =  6
document.write("<br />");
document.write("Y(mul) = ", y(mul)); // -> Y(mul) =  120
document.write("<br />");
document.write("Y(10)((mul) = ", y(10)(mul)); // -> Y(mul) =  120