发布于 2013-11-21 14:42:41
让我首先澄清一下引用实现是什么意思。您指的是一个示例实现,它被认为表示,一个对标准的有效解释。我们永远不清楚这样的实现会有什么样的规范价值--想想造成许多系统循环的Java浮点语法错误。
ISO Prolog没有参考实现。就像没有C、C++或任何其他ISO/IEC标准化编程语言一样。请注意,Java不是由任何标准化机构(如ISO、IEC、ITU或CEN )或任何国家机构(如ANSI )标准化的,而是由一家公司标准化的。而正是那家公司提供了参考的实施。
而且,Prolog自1972年起就已经存在了--早在任何标准化实施之前就存在了。它一直是第一语言的同类和范式。它很快分裂成几种不同的方言,语法不兼容(Prolog 1、爱丁堡、Prolog II等)。最早的标准相关文档之一-- Richard O‘’Keefe提出的Prolog可评估谓词标准草案是一九八四年传阅。BSI开始于1984年;AFNOR于1985年。1987年,ISO进程开始,于1995年交付ISO/IEC 13211-1 .
相比之下,Java是从以前的语言(如C、C++以及其他面向对象的语言)进化而来的,并继承了它们的很多东西。它的发展是完全不同的,一家公司激烈地维护语言免受各种偏差--想想看:甚至连手册的副本都被禁止在互联网上提供。
无论如何,最符合Prolog标准的Prolog系统是:
具体比较。语法(读和写)给您一些印象,您可以从这些实现和其他实现中得到什么。
发布于 2013-12-01 17:26:20
另一个提供严格一致模式的实现是ECLiPSe。
与-L iso_strict命令行选项一起使用。
引用遵守声明的话
ECLiPSe提供了在ISO/IEC 13211-1 (信息技术、编程语言、Prolog,第1部分,通用核心,1995年)和技术更正ISO/IEC 13211-1 TC1 (2007年)和TC2 (2012年)中定义的标准Prolog的实现。
发布于 2013-11-21 11:39:26
不是的。但是GNU Prolog非常严格地遵循国际标准化组织Prolog 核心标准。还请注意,它提供了一个strict_iso标志。
还有其他Prolog编译器提供良好的标准遵从性。
https://stackoverflow.com/questions/20119749
复制相似问题