Verificando o entendimento de: "Variável" vs. "Valor" e "função" vs "abstração"

(Esta pergunta é um acompanhamento deeste enquanto estudava Haskell.)

Eu costumava achar a noção entre "variável" e "valor" confusa. Portanto, li sobre a página wiki do cálculo lambda, bem como a resposta anterior acima. Eu saio com interpretações abaixo.

Posso confirmar se estão corretas? Só quero confirmar duas vezes porque esses conceitos são bastante básicos, mas essenciais à programação funcional. Qualquer conselho é bem-vindo.

Instalações dewiki:

Sintaxe do cálculo Lambda
exp → ID
| (exp)
| λ ID.exp // abstração
| exp exp // aplicação

(Notação: "<=>" equivalente a)

Interpretações:

"valor": são os dados ou instruções reais armazenados no computador.
"variável": é uma maneira de localizar os dados, uma referência de substituição de valor, mas não o conjunto de dados ou instruções armazenados no computador.
"abstração" <=> "função" form forma sintática. (https://stackoverflow.com/a/25329157/3701346)
"application": recebe uma entrada de "abstração" e uma entrada de "expressão lambda", resulta em uma "expressão lambda".
"abstração" é chamada "abstração" porque, na definição de função usual, abreviamos o corpo da função (geralmente mais longo) para uma forma muito mais curta, isto é, um identificador de função seguido por uma lista de parâmetros formais. (Embora as abstrações lambda sejam funções anônimas, outras funções geralmente têm nome.)

"variável" <=> "símbolo" <=> "referência"
uma "variável" é associada a um "valor" por meio de um processo chamado "ligação".

"constante" ∈ "variável"
"literal" ∈ "valor"
"parâmetro formal" ∈ "variável"
"parâmetro atual" (argumento) ∈ "valor"

Uma "variável" pode ter um "valor" de "dados" => por exemplo variável "a" tem um valor de 3

Uma "variável" também pode ter um "valor" de "um conjunto de instruções" => p. um operador "+" é uma variável

questionAnswers(2)

yourAnswerToTheQuestion