2010-07-03 16 views
12

Soy bastante bueno en Haskell y me he estado enseñando J. He leído acerca de la distinción John Backus 'entre la programación value-level y function-level.¿Cuál es la diferencia formal entre un lenguaje de nivel funcional y uno funcional?

J es un lenguaje de nivel funcional que le permite escribir en un estilo de nivel de valor si lo desea. (Espero haberlo hecho bien.) ¿Dónde encaja Haskell en esto? Sé que Haskell permite un estilo de programación tácito y sé que es un lenguaje funcional puro, pero ¿crees que Backus lo describiría como un lenguaje de nivel de valor o de nivel funcional?

En resumen, los lenguajes funcionales y de funciones parecen estar relacionados entre sí, pero no exactamente iguales. ¿Alguien podría aclarar?

+1

podrían ser relevantes: http://conal.net/blog/posts/can-functional-programming-be-liberated-from-the-von-neumann-paradigm -Creo función de nivel puede hacer más que solo "cálculos abstractos sobre entradas abstractas". –

Respuesta

2

Casi todos los lenguajes de programación funcionales prácticos siguen siendo programas de nivel de valor; la programación a nivel de función es más una forma de programación académica/algebraica que busca derivar propiedades de cómo se forman las funciones a partir de otras funciones.

Debido a que cualquier aplicación práctica real requiere operar en algún tipo de datos (los cálculos abstractos en entradas abstractas generalmente no son muy útiles en la vida cotidiana), esto los lleva al dominio del nivel de valor.

http://en.wikipedia.org/wiki/Function-level_programming#Contrast_to_functional_programming

+0

Interesante. Antes había leído el artículo a nivel de función, pero no había visto la sección que lo contrastaba con la programación funcional. La historia del artículo en Wikipedia dice que ha estado allí de una forma u otra durante años. Que extraño. –

Cuestiones relacionadas