Code that strictly conforms to the ISO-Prolog core language is portable across ISO-compliant implementations. However, the ISO standard for modules is an extension which was not fully adopted in most Prolog systems.
Factors that can adversely affect portability include: use of bounded vs. unbounded integer arithmetic, additional types such as string objects, advanced numeric types (rationals, complex), feature extensions such as Unicode, threads, and tabling. Use of libraries unavailable in other implementations and library organisation:
Currently, the way predicates are spread over the libraries and system built-ins differs enormously. [...] Fortunately, there are only few cases where we find predicates with the same name but different semantics (e.g. delete/3)
Philipp Körner; Michael Leuschel; João Barbosa; Vítor Santos Costa; Verónica Dahl; Manuel V. Hermenegildo; Jose F. Morales; Jan Wielemaker; Daniel Diaz; Salvador Abreu; Giovanni Ciatto (November 2022), "Fifty Years of Prolog and Beyond", Theory and Practice of Logic Programming, 22 (6): 776–858, doi:10.1017/S1471068422000102, hdl:10174/33387 /wiki/Doi_(identifier)
Wielemaker, J.; Costa, V. T. S. (2011). "On the Portability of Prolog Applications". Practical Aspects of Declarative Languages. Lecture Notes in Computer Science. Vol. 6539. pp. 69–83. CiteSeerX 10.1.1.1030.9396. doi:10.1007/978-3-642-18378-2_8. ISBN 978-3-642-18377-5. 978-3-642-18377-5
Wielemaker, J.; Costa, V. T. S. (2011). "On the Portability of Prolog Applications". Practical Aspects of Declarative Languages. Lecture Notes in Computer Science. Vol. 6539. pp. 69–83. CiteSeerX 10.1.1.1030.9396. doi:10.1007/978-3-642-18378-2_8. ISBN 978-3-642-18377-5. 978-3-642-18377-5
Wielemaker, J.; Costa, V. T. S. (2011). "On the Portability of Prolog Applications". Practical Aspects of Declarative Languages. Lecture Notes in Computer Science. Vol. 6539. pp. 69–83. CiteSeerX 10.1.1.1030.9396. doi:10.1007/978-3-642-18378-2_8. ISBN 978-3-642-18377-5. 978-3-642-18377-5
Philipp Körner; Michael Leuschel; João Barbosa; Vítor Santos Costa; Verónica Dahl; Manuel V. Hermenegildo; Jose F. Morales; Jan Wielemaker; Daniel Diaz; Salvador Abreu; Giovanni Ciatto (November 2022), "Fifty Years of Prolog and Beyond", Theory and Practice of Logic Programming, 22 (6): 776–858, doi:10.1017/S1471068422000102, hdl:10174/33387 /wiki/Doi_(identifier)
Jan Wielemaker and Vıtor Santos Costa: Portability of Prolog programs: theory and case-studies. CICLOPS-WLPE Workshop 2010 Archived 2010-07-16 at the Wayback Machine. http://www.swi-prolog.org/download/publications/porting.pdf
Wielemaker, J.; Costa, V. T. S. (2011). "On the Portability of Prolog Applications". Practical Aspects of Declarative Languages. Lecture Notes in Computer Science. Vol. 6539. pp. 69–83. CiteSeerX 10.1.1.1030.9396. doi:10.1007/978-3-642-18378-2_8. ISBN 978-3-642-18377-5. 978-3-642-18377-5
C/Java interface can also be used for graphics and OS control.
C/Java interface can also be used for graphics and OS control.
Allegro Prolog https://franz.com/products/allegro-common-lisp/acl_prolog.lhtml
"DOS-Prolog 8.0". Logic Programming Associates. 5 November 2023. https://www.lpa.co.uk/dos.htm
JIProlog http://www.jiprolog.com
"JLog Homepage". jlogic.sourceforge.net. Retrieved 2023-11-03. https://jlogic.sourceforge.net/
"JLog Homepage". jlogic.sourceforge.net. Retrieved 2023-11-03. https://jlogic.sourceforge.net/
"Jtrolog — Java.net". 2012-11-13. Archived from the original on 2012-11-13. Retrieved 2023-11-03. https://web.archive.org/web/20121113023104/http://java.net/projects/jTrolog
"WIN-Prolog 8.0". Logic Programming Associates. 5 November 2023. https://www.lpa.co.uk/win.htm
Open Prolog Home Page https://web.archive.org/web/20050203201646/http://www.cs.tcd.ie/open-prolog/
Scryer Prolog https://www.scryer.pl
Strawberry Prolog https://dobrev.com
tuProlog http://tuprolog.unibo.it
B. Demoen, and P. Nguyen, About unnecessary performance differences between Prolog implementations, Proceedings of the Colloquium on Implementation of Constraint and Logic Programming Systems (CICLOPS 2001)
Bothe, K. (1990). "A prolog space benchmark suite". ACM SIGPLAN Notices. 25 (12): 54–60. doi:10.1145/122193.122197. https://doi.org/10.1145%2F122193.122197
A Summary of XSB Performance (1993) http://citeseer.ist.psu.edu/swift93summary.html
Demoen, B.; Nguyen, P. L.; Vandeginste, R. (2002). "Copying Garbage Collection for the WAM: to Mark or Not to Mark?". Logic Programming. Lecture Notes in Computer Science. Vol. 2401. pp. 194–208. CiteSeerX 10.1.1.13.2586. doi:10.1007/3-540-45619-8_14. ISBN 978-3-540-43930-1. 978-3-540-43930-1