Which is the best way to handle the compatibility between two different Prolog interpreters? I've read this question and its answers but what I'm looking for is a methodology for coping with differently defined predicates (ie delete in SWI is not variable wise, while under YAP it is) and newly introduced predicates (ie remove_duplicates is not present in library(lists) in SWI).
At the moment I'm writing a file containing most of all predicates redefinitions but of course this gets one of the two (or more than two) compilers to yield a Warning for redefinition.
For the sake of semplicity you can assume that the Prolog implementation I'm interested in are SWI and Yap. Nevertheless a as general as it can be method would be highly appreciated.