Programación a nivel de valores

El término inicialmente utilizado por Backus fue el de programación a nivel de objetos, pero en la actualidad ese término traería confusión con la programación orientada a objetos.

Los nuevos valores se obtienen como resultado de la aplicación de operaciones que transforman valores en otros valores, como por ejemplo, la suma, la concatenación, la inversión de matrices, etc.

Según este punto de vista, los lenguajes basados en el cálculo lambda (tales como Lisp, ISWIM, y Scheme) son lenguajes a nivel de valores, si bien su diseño no los restringe a ello.

Por ejemplo, en una definición típica en el cálculo lambda de la forma f = λx.E la variable x así como la expresión E denotan valores.

Típicamente, E es una expresión que aplica funciones de formación de valores a variables y constantes.