Estou confuso com a seguinte afirmação: "Os únicos valores no cálculo lambda sem tipo são abstrações lambda".
Por que os outros termos não são valores? O que significa uma abstração lambda ser um valor? A primeira coisa que me veio à mente foi que talvez as abstrações lambda sejam as únicas formas normais possíveis, mas isso não é verdade, é claro, por exemplo .
Alguém pode me esclarecer?
logic
lambda-calculus
codd
fonte
fonte
Respostas:
Há várias coisas acontecendo aqui:
Outros termos não são valores porque podem ser reduzidos ou não aparecem em programas fechados.
O fato de uma abstração lambda ser um valor significa que não pode mais ser reduzido (dependendo da estratégia de redução).
Para termos abertos, variáveis também são valores.
fonte