【发布时间】:2014-05-17 13:17:30
【问题描述】:
我正在寻找研究论文或任何其他出版物,它们比较不同的抽象机器(不止一个)以执行 Prolog 与不基于抽象机器的 prolog 解释器。到目前为止,我所看到的是,尽管提出了其他抽象机器(例如,Vienna Abstract Machine、Tree-Oriented Abstract Machine)并且没有任何一般性比较,但大多数实现似乎都将它们的 prolog 解释器基于 Warren Abstract Machine。我对效率比较感兴趣(not 特性),尽管所有比较的解释器都应该允许约束逻辑编程。
【问题讨论】:
-
请参阅stackoverflow.com/questions/4478615/alternatives-to-the-wam/… 尚不清楚您还可以通过比较来表示什么。我不清楚“使用不基于抽象机器的 Prolog 解释器执行 Prolog”是什么意思:任何实现都基于一些抽象机器。
-
@false,我可以使用 C++ 编写 Prolog 解释器,然后它不会基于任何抽象机器。通过比较,我的意思是例如测试每个解释器的工作效率(在计算时间、内存消耗方面)。
-
即便如此,您仍然在使用抽象机器。还有很多决定要做。想想回溯/追踪。
-
效率比较是 1980 年代 Prolog 中的一个雷区,因为系统实际上是由 KLips 销售的。但是,请参阅上面提到的答案,其中包含对效率某些方面的非常详细的比较。
标签: prolog abstract-machine warren-abstract-machine