Atualmente, estou lendo " Lambda-Calculus and Combinators " de Hindley e Seldin. Não sou especialista, mas sempre me interessei pelo cálculo lambda por causa do envolvimento com a programação funcional (começando com Lisp e SICP e agora com R e Haskell).
Em " Cálculo binário lambda e lógica combinatória" , John Tromp afirma:
CL pode ser visto como um subconjunto do cálculo lambda ... as teorias são basicamente as mesmas, tornando-se equivalentes na presença da regra da extensionalidade.
Sob quais condições alguém usaria lógica combinatória em vez de cálculo lambda ?
Todas as referências serão apreciadas.
Respostas:
O que distingue a lógica combinatória é que ela é livre de variáveis. Às vezes, isso é útil na metamatemática e na lógica filosófica, onde o status das variáveis é complicado.
Também pode ser útil em implementações, pois gerenciar variáveis pode ser uma dor de cabeça. Cf., por exemplo, Hughes, 1982, Super-combinadores: Um novo método de implementação para linguagens aplicativas
fonte
Referindo-me ao comentário de John Tromp, quero observar que a lógica combinatória parece muito diferente do cálculo lambda. Como seu interesse deriva da programação funcional, você realmente não quer saber muito sobre a lógica combinatória.
Meu tutorial favorito sobre lógica combinatória está nessas notas de aula da Universidade de Cambridge.
No entanto, eles são introduzidos para explicar a implementação das chamadas linguagens preguiçosas (ou aplicativas); Como mencionado no meu comentário anterior, essas técnicas estão desatualizadas.
fonte