'Why is Lisp so often connected to "Symbolic computation"

We know mathematics have both symbolic and numeric computation. But why is Lisp, as a common programming language, connected to symbolic computation more closely?

What parts of Lisp make it good for symbolic problems?



Solution 1:[1]

The term symbolic computation often associated with Lisp is baffling to millennials who grew up in an age where computers are used in all areas of human and social life. Back in the day when Lisp appeared, computers were expensive and their use was primarily used in a scientific/accounting context. Number crunching. Translating known algorithms from Mathematics into programs. One area where existing languages had trouble solving problems elegantly was algebraic formulas with polynomial expressions. Lisp provided first-class constructs that enabled the design of computer algebra systems that mapped seamlessly with traditional mathematical reasoning, hence the term. Symbolic computation is still relevant today, particularly in the fields of logic programming, constraint solving, artificial intelligence, etc.

Solution 2:[2]

In LISP you can enter a symbol without predeclaration. Also, complex data structures are supported as linked lists of arbitrary complexity. Since manipulation of symbols is best accomplished in the context of complex data structures, LISP is a perfect fit. Additionally, when using complex data structures to model a problem other languages require you to spend a lot of effort in walking the data structures. In lisp the data structure traversal is automated and you can work at a higher level of abstraction.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Daniel Szmulewicz
Solution 2 kd4ttc