为什么是原子([])。在SWI prolog软件中为false,而在GNU prolog中为true?

为什么是原子([])。在SWI prolog软件中为false,而在GNU prolog中为true?,prolog,Prolog,当我使用SWI prolog程序并运行以下代码时,结果与GNU控制台不同,如下所示: 原子([])。 SWI prolog中的false,而 原子([])。 在GNU控制台prolog中也是如此。SWI prolog 7.x和更高版本将空列表作为自己的类型,与atom不同,这与GNU prolog更严格遵循的ISO prolog核心标准有所不同,包括在本例中 另外,如果您想访问Prolog系统(官方和事实上的)标准一致性,Logtalk发行版包括一个Prolog一致性套件(带有约1700个测试)

当我使用SWI prolog程序并运行以下代码时,结果与GNU控制台不同,如下所示: 原子([])。 SWI prolog中的false,而 原子([])。
在GNU控制台prolog中也是如此。

SWI prolog 7.x和更高版本将空列表作为自己的类型,与atom不同,这与GNU prolog更严格遵循的ISO prolog核心标准有所不同,包括在本例中

另外,如果您想访问Prolog系统(官方和事实上的)标准一致性,Logtalk发行版包括一个Prolog一致性套件(带有约1700个测试),您可以使用其所有受支持的Prolog系统运行该套件,包括SWI Prolog和GNU Prolog