谁能做一下LISP和PROLOG的比较

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:08:29

(1)LISP具有和图灵机相同的(也就是理论上最高的)计算能力;

在计算机科学的可计算理论中,人们已经证明递归函数和图灵机具有相同的(也就是理论上最高的)计算能力,通常指的是自然数集上的递归函数。这个结论对符号集上的递归函数也成立。J.McCarthy在LISP中设计了一套符号处理函数,它们具有符号集上的递归函数的计算能力,因此原则上可以解决人工智能中的任何符号处理问题。

(2)数据类型的唯一性,程序与数据的一致性;

LISP的数据类型和句法结构简单,甚至简单到具有唯一性和一致性:其数据和程序的表现形式是一样的, 都是用S-表达式一种形式.基本的数据结构是表(表是S-表达式的特例)。

(3)数据和程序的 等价性;

LISP的数据和程序不仅类型一致,而且作用也等价;
即:程序可作为数据被处理,数据也可作为程序来执行。

(4)LISP一切功能由函数来实现,程序的运行就是求值;

LISP程序的通常形式是一串函数定义,其后跟着一串带有参数的函数调用,函数之间的关系只是在调用执行时才体现出来。

(5)LISP语言的控制结构以递归为主;

大多数语言使用的控制结构是以循环为主的,有的程序语言允许递归,而LISP以递归形式为主。递归是LISP能力的源泉。当然现在LISP也有循环结构和迭代。

(6)原子可以有任意多个值(特性值);

LISP非常重要的一个特点是每个文字原子可以加许多特性,每个特性有一个特性表及对应的特性值。由于原子的多值性给使用者带来很多方便,给问题表示带来好处,使LISP很好用。

(7)LISP具有表的结构形式和规模的灵活性,不必预先设定;

(8)具有收集无用单元的功能。

//--------------------------------------------------------------------

prolog语言
(1)WHAT型语言;

Prol