Programação em nível de valor

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

A programação em nível de valor refere-se a um dos dois paradigmas de programação contrastantes identificados por John Backus em seu trabalho sobre programas como objetos matemáticos , sendo o outro a programação em nível de função . Backus originalmente usou o termo programação em nível de objeto, mas esse termo agora é propenso a confusão com programação orientada a objetos .

Programas de nível de valor são aqueles que descrevem como combinar vários valores (ou seja, números, símbolos, strings, etc.) para formar outros valores até que os valores do resultado final sejam obtidos. Novos valores são construídos a partir dos existentes pela aplicação de várias funções valor a valor, como adição, concatenação, inversão de matriz e assim por diante.

Convencional, os programas von Neumann são de nível de valor: as expressões no lado direito das instruções de atribuição estão exclusivamente preocupadas com a construção de um valor que deve ser armazenado.

Conexão com tipos de dados

A abordagem de nível de valor para programação convida ao estudo do espaço de valores sob as operações formadoras de valor e das propriedades algébricas dessas operações. Isso é o que é chamado de estudo dos tipos de dados , e avançou do foco nos valores em si e em sua estrutura, para uma preocupação primária com as operações formadoras de valor e sua estrutura, como dada por certos axiomas e leis algébricas, ou seja, , ao estudo algébrico de tipos de dados .

Conexão com linguagens Lambda Calculus

As linguagens baseadas em cálculo lambda (como Lisp , ISWIM e Scheme ) são na prática linguagens de nível de valor, embora não sejam restritas por design.

Para ver por que os programas típicos de estilo lambda são principalmente de nível de valor, considere a definição usual de uma função de valor a valor, digamos

f = λx . E

aqui, x deve ser uma variável de valor (já que o argumento de f é um valor por definição) e E deve denotar um valor também (já que o resultado de f é um valor por definição). Normalmente, E é uma expressão que envolve a aplicação de funções formadoras de valor a variáveis ​​e constantes de valor; no entanto, existem algumas funções formadoras de valor que possuem argumentos de função e de valor e são usadas para propósitos limitados [ carece de fontes ] .

Se o termo valores for definido para incluir as próprias variáveis ​​de valor, então a visão de nível de valor da programação é uma de construção de valores pela aplicação de programas existentes (operações/funções formadoras de valor) a outros valores. A programação no estilo lambda cria um novo programa a partir do valor do resultado, abstraindo lambda as variáveis ​​de valor.

Veja também