Joseph Beltramo
1 min readOct 25, 2017

--

In trying to understand what is happening. I found that there doesn’t appear to be a need for the sayHello declaration to return the world ‘hello’.

// The U Combinator
const U = f => f(f)
// Typical function
const sayHello = () => null // It doesn't matter what this returns
sayHello()
// > "hello"
// U Combinator function
const UsayHello = U(sayHello => () => 'hello')
UsayHello()
// > "hello"

Is this not just a way of currying?

--

--