Respuesta

4

Son diferentes bestias. Sin embargo, un punto de superposición son los lenguajes de reescritura de términos como pure (http://code.google.com/p/pure-lang/). Pure se puede usar como un lenguaje de programación puramente funcional. Sin embargo, dado que se implementa mediante la reescritura de términos en lugar de la reducción de gráficos, sus expresiones siempre pueden combinarse con patrones en sus bits y transformarse. Este tipo de manipulación simbólica es una de las características clave de los sistemas de álgebra computarizada. Dicho esto, una gran parte del poder de los sistemas de álgebra computacional proviene de tener muchas y muchas matemáticas preparadas, y especialmente tener poderosos algoritmos preparados para resolver varios problemas complicados. Podría escribir bibliotecas para hacer eso en los lenguajes funcionales (y los tipos de datos algebraicos lo harían más agradable que en los imperativos), pero igual tendría que escribir esas bibliotecas.

1

Estos dos conceptos no están necesariamente relacionados. Sin embargo, puede resultar interesante el hecho de que el lenguaje de programación Lisp diseñado por John McCarthy en 1958 estuviera influenciado por el cálculo lambda. También ese año, McCarthy publicó An Algebraic Language for the Manipulation of Symbolic Expressions donde se presentó un programa de diferenciación simbólica muy simple (ver Apéndice I). Por lo tanto, puedes ver que los dos conceptos fueron muy cercanos al principio.

Cuestiones relacionadas