Question

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.

Was it helpful?

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top