Search code examples
prologgnu-prolog

Prolog Compatibility Layers - available programming libraries


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.


Solution

  • YAP, SWI and GNU 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