Functional programming 符号计算和函数编程相关吗?

Functional programming 符号计算和函数编程相关吗?,functional-programming,symbolic-math,computer-algebra-systems,Functional Programming,Symbolic Math,Computer Algebra Systems,我想知道是否在(如Matlab中的符号工具箱,Mathematica)和相关以及如何?前者属于后者吗 谢谢和问候 它们是不同的野兽。然而,重叠的一点是术语重写语言,如pure()。Pure可以用作纯函数式编程语言。然而,由于它是通过项重写而不是图缩减来实现的,所以它的表达式总是能够被模式匹配到它们的位并进行转换。这种符号操作是计算机代数系统的关键特征之一。这就是说,计算机代数系统的巨大威力来自于大量的数学知识,尤其是用于解决各种棘手问题的强大算法。您可以用函数式语言编写库来实现这一点(代数数据类

我想知道是否在(如Matlab中的符号工具箱,Mathematica)和相关以及如何?前者属于后者吗


谢谢和问候

它们是不同的野兽。然而,重叠的一点是术语重写语言,如pure()。Pure可以用作纯函数式编程语言。然而,由于它是通过项重写而不是图缩减来实现的,所以它的表达式总是能够被模式匹配到它们的位并进行转换。这种符号操作是计算机代数系统的关键特征之一。这就是说,计算机代数系统的巨大威力来自于大量的数学知识,尤其是用于解决各种棘手问题的强大算法。您可以用函数式语言编写库来实现这一点(代数数据类型比命令式数据类型更令人愉快),但您仍然需要编写这些库。

这两个概念不一定相关。然而,您可能会发现一个有趣的事实,即John McCarthy在1958年设计的Lisp编程语言受到lambda演算的影响。同年,麦卡锡出版了一本非常简单的符号微分程序(见附录一)。因此,您可以看到,这两个概念在一开始非常接近。

它们是相关的,因为这两个概念都被擅长数学的人使用。值得一提的是,Lisp(通用的Lisp方言)被选为目前仍在使用的最著名的计算机代数系统之一Maxima的实现语言(本身起源于旧的Macsyma)。