Calculo Lambda Alonzo Church Marcelo Parrela
462 palavras
2 páginas
O Cálculo LambdaAs sementes da Programação Funcional foram plantadas em 1930 quando Alonzo Churchdesenvolveu o Cálculo
Lambda (favor não confundir com Funções Lambda). Pode-se dizer que o Cálculo Lambda foi a primeira linguagem funcional do mundo.
Basicamente, o Cálculo Lambda é um modelo matemático que trabalha os relacionamentos entre as funções.
Nesse modelo, as funções são consideradasobjetos de primeira grandeza – ou seja, elas possuem os mesmos privilégios que uma variável ou uma constante.
Assim, funções poderiam ser passadas para outras (por parâmetro) e/ou serem retornadas por outras funções (como ocorre com variáveis e constantes).
Mas, antes que você diga “Opa, isso ocorre em qualquer linguagem de programação!?” deixe-me exclarecer alguns pontos:
Na maioria das linguagens de programação (que conheço), quando dizemos “passar a função A para a função B”, na verdade, estamos pensando “passar o resultado processado pela função A para a função B”. Também, quando dizemos “a função A retornará a função B”, queremos dizer “a função A retornará o valor processado pela função B”.
Isso ocorre porque temos em mente uma visão limitada sobre as funções: “funções somente computam dados e retornam seus valores”.
Essa forma de pensar deve-se ao fato de que várias linguagens tratam as funções/procedimentos apenas como blocos de código. Sob esta perspectiva, as funções servem apenas para executar suas tarefas e retornar seus resultados.
Porém, no Cálculo Lambda, as funções são entidades de primeira grandeza e possuem os mesmos privilégios concedidos a uma variável ou a uma constante.
Consequentemente, no Cálculo Lambda, quando passamos uma função para outra ou quandoretornamos uma função a partir de outra – estamos lidando diretamente com a entidade função e não com o valor que ela deveria retornar.
Sugiro, nesse ponto, que você pare um pouco e medite sobre o que acabou de ler.
Agora, vamos dar uma olhada na matemática (que já conhecemos): nela, existem funções que