Na programação funcional estrita e no cálculo lambda , as funções (expressões lambda) não têm estado e só podem referir-se a argumentos de funções delimitadoras. Isso exclui a definição usual de uma função recursiva em que uma função é associada ao estado de uma variável e o estado dessa variável é usado no corpo da função.
O combinador Y é ele próprio uma função sem estado que, quando aplicada a outra função sem estado, retorna uma versão recursiva da função. O combinador Y é o mais simples da classe de tais funções, chamadas combinadores de ponto fixo .
Tarefa: Define the stateless Y combinator function and use it to compute <a href="https://en.wikipedia.org/wiki/Factorial" title="wp: factorial">factorial</a>.
factorial(N)
já é dada a você. Veja também Jim Weirich: Adventures in Functional Programming .