Каков наилучший способ справиться с совместимостью между двумя различными интерпретаторами Prolog? Я читал об этом question and its answers, но то, что я ищу, - это методология для решения с разными определенными предикатами (т. Е. Удаление в SWI не является переменным, а под YAP оно есть) и вновь введенными предикатами (т.е. remove_duplicates нет в библиотека (списки) в SWI).Уровень совместимости для различной реализации Prolog
На данный момент я пишу файл, содержащий большинство предикатов redefinitions, но, конечно, это получает один из двух (или более двух) компиляторов, чтобы дать предупреждение для переопределения.
Для удобства использования вы можете предположить, что реализация Prolog, в которой меня интересуют, это SWI и Yap. Тем не менее, как общий, как он может быть, метод будет высоко оценен.
Вы видели это? http://www.swi-prolog.org/pldoc/doc_for?object=section(1,'C',swi('/doc/Manual/dialect.html ')) – 2013-04-05 19:32:22
yep, но он кажется совместимым слоем для * другие * только для SWI. Знаете ли вы, что он сам переносится? – rano
Для меня это выглядит как минимальная структура, которая поддерживает условную компиляцию для SWI и YAP (см. Также «dialect.pl» в документации SWI). В конце концов, мне кажется, что единственным жизнеспособным решением было бы кодирование различий, когда это абсолютно необходимо, и придерживаться «ванильного» Пролога в противном случае. – 2013-04-05 20:17:43