Você programa nele! Dê uma olhada nas codificações da igreja . Você pode ver como praticamente toda aritmética pode ser executada, o que provavelmente deve convencê-lo de que é extremamente poderosa. Eu gosto de ver as operações nas listas, no entanto. Você pode definir praticamente qualquer estrutura de dados em termos de uma função que executa a operação mais importante nela.
Por exemplo, uma codificação de uma lista é a função de dobra que se dobra sobre ela. Note que essa não é a codificação da Igreja, mas que recebi dos tipos e linguagens de programação de Percie. As codificações de pares da Igreja não nos dão recursão; temos que adicioná-lo de volta a nós mesmos com algum tipo de combinador de recursão.
portanto, uma lista leva dois argumentos, uma função para fazer a dobra e um valor inicial para encaixar na dobra em algum momento.
cons x xs = lam f. lam a. f x (xs f a)
nil = lam f. lam a. a
agora podemos definir um somatório com uma função add (veja as codificações da igreja acima)
sum xs = xs add 0
podemos fazer mais e definir uma função de mapa
consApply f x xs = cons (f x) xs
map f xs = xs (consApply f) nil
se você ainda não está convencido de que há computação acontecendo aqui e deseja garantir que você possa executar qualquer computação, verifique o combinador de ponto fixo . Dói um pouco a cabeça pensar algumas vezes, no entanto, então não tenho certeza se chamaria de intuitivo, mas se você o avaliar manualmente com alguns argumentos, poderá ver o que está acontecendo.