4

我们知道数学既有符号计算也有数值计算。但是为什么Lisp作为一种通用的编程语言,与符号计算的联系更紧密呢?

Lisp的哪些部分使它适用于符号问题?

4

3 回答 3

11

当时,符号是 Lisp 中的第一类对象,而在其他语言中则更少。大多数其他语言都专注于数值计算 (1 + 2 + SIN(PI / 2))。

在 Lisp 中,符号是一种特定的语言工件(不同于字符串),它使处理非数字的事物变得非常容易。由于这些是系统中的第一类对象,Lisp 提供了这些对象的“免费”解析器、读取器和写入器。

'(A + B / 2) 在现成的 Lisp 中表示是微不足道的。

表示的易用性减轻了阅读和编写符号计算应用程序的这些方面的负担,使得更容易专注于核心问题(方程约简、问题求解器、定理证明等)

即使在今天,仍然很少有语言具有符号的一流概念。但是有足够多的实用程序,因此它们在今天的重要性不及在这种工作中基本的 Lisp、Fortan 和 Pascal 的时代。

于 2012-04-27T17:44:05.783 回答
0

在 LISP 中,您可以在没有预先声明的情况下输入符号。此外,复杂的数据结构被支持为任意复杂度的链表。由于符号操作最好在复杂数据结构的上下文中完成,因此 LISP 非常适合。此外,当使用复杂的数据结构来建模问题时,其他语言需要您花费大量精力来遍历数据结构。在 lisp 中,数据结构遍历是自动化的,您可以在更高的抽象级别上工作。

于 2022-02-12T20:08:38.083 回答
0

经常与 Lisp 相关联的符号计算一词令千禧一代感到困惑,他们在计算机被用于人类和社会生活的所有领域的时代长大。早在 Lisp 出现的那一天,计算机很昂贵,它们的使用主要用于科学/会计环境。数字运算。将已知的数学算法转化为程序。现有语言难以优雅地解决问题的一个领域是具有多项式表达式的代数公式。Lisp 提供了一流的结构,使计算机代数系统的设计能够与传统的数学推理无缝映射,因此有了这个术语。符号计算在今天仍然很重要,特别是在逻辑编程、约束求解、人工智能等领域。

于 2016-06-30T14:04:36.180 回答