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?