问题描述
在一个 Prolog 实现中缺少某些谓词,而在其他实现中可用.
There is a lack of some predicates in one Prolog implementations, that are available in others.
我们可以实现缺少谓词,我们称之为Prolog 兼容层".
We can implement lacking predicates, let's call this "Prolog Compatibility Layer".
您知道 Prolog(尤其是 GNU-Prolog)的Prolog 兼容层"吗?
Do you know "Prolog Compatibility Layers" for Prolog (especially for GNU-Prolog) ?
请按以下方式组织答案:
Please structure answers in following way:
- 标题带有链接.
- 实现" - 你可能想使用的 prolog 实现
- 兼容性" - 完成兼容层的 prolog 实现
- "Functions" - 兼容性函数列表(你可以加粗你的最爱)
- 附加信息" - 评论、要求、限制等
- 许可证" - 许可证信息
- Title with link.
- "Implemented for" - prolog implementation you might like to use
- "Compatibility with" - prolog implementation for which compatibility layer is done
- "Functions" - list of compatibility functions (you can bold yours favourites)
- "Additional info" - comments, requirements, limitations etc.
- "License" - license info
附:受另一个问题启发的问题:Prolog 语法问题.
P.S. Question inspired by another question : Prolog syntax problem.
推荐答案
为: GNU-Prolog、SWI Prolog、YAP Prolog 实现.
Implementated for: GNU-Prolog, SWI Prolog, YAP Prolog.
兼容: SWI-Prolog 和其他 Prologs
Compatibility with: SWI-Prolog and other Prologs
描述:(GNU Compat.)实现了 SWI Prolog 中的许多基本谓词以及许多其他在 GNU Prolog 中不可用的 Prolog 实现."
Description: (GNU Compat.) "implements many essential predicates found in SWI Prologand many other Prolog implementations that aren't available in GNU Prolog."
函数: (GNU Compat.) not/1, is_list/1, succ/2, sformat/3, string/1, is_codes/1, algorithm_function, eval_arith/2, downcase_atom/2, forall/2, flag/3, between/3, gensym/2, time/1, if/2, if/3, if/4
Functions: (GNU Compat.) not/1, is_list/1, succ/2, sformat/3, string/1, is_codes/1, arithmetic_function, eval_arith/2, downcase_atom/2, forall/2, flag/3, between/3, gensym/2, time/1, if/2, if/3, if/4
附加信息:(GNU Compat.)此外,您需要从 SWI 发行版中包含 lists.pl."
Additional info: (GNU Compat.) "Additionally, you need to include lists.pl from the SWI distribution."
许可证: GNU 公共许可证
这篇关于Prolog 兼容层 - 可用的编程库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!