There is a lack of some predicates in one Prolog implementations, that are available in others.
We can implement lacking predicates, let's call this "Prolog Compatibility Layer".
Do you know "Prolog Compatibility Layers" for Prolog (especially for GNU-Prolog) ?
Please structure answers in following way:
- 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
P.S. Question inspired by another question : Prolog syntax problem.
YAP, SWI and GNU Prolog compatibility layer
- GNU Prolog compatibility layer
- SWI Prolog Compatibility layer
- YAP Prolog compatibility layer
Implementated for: GNU-Prolog, SWI Prolog, YAP Prolog.
Compatibility with: SWI-Prolog and other Prologs
Description: (GNU Compat.) "implements many essential predicates found in SWI Prolog
and many other Prolog implementations that aren't available in GNU Prolog."
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
Additional info: (GNU Compat.) "Additionally, you need to include lists.pl from the SWI distribution."
License: GNU public license