
La siguiente comparación de implementaciones de Prolog proporciona una referencia sobre las características relativas y el rendimiento de las diferentes implementaciones del lenguaje de programación Prolog . Un análisis exhaustivo de los sistemas Prolog más importantes se presenta en un artículo publicado en el número especial del 50 aniversario de Prolog de la revista Theory and Practice of Logic Programming (TPLP). [ 1 ]
Portabilidad

Hay implementaciones de Prolog que son radicalmente diferentes, con sintaxis y semántica distintas (por ejemplo, Visual Prolog) [ 2 ] y se han desarrollado subcomunidades en torno a diferentes implementaciones. [ 2 ]
El código que se ajusta estrictamente al lenguaje central ISO-Prolog es portable entre implementaciones compatibles con ISO. Sin embargo, el estándar ISO para módulos es una extensión que no se adoptó completamente en la mayoría de los sistemas Prolog. [ 2 ] [ 1 ]
Los factores que pueden afectar negativamente la portabilidad incluyen: el uso de aritmética de enteros acotada frente a no acotada, tipos adicionales como objetos de cadena, tipos numéricos avanzados (racionales, complejos), extensiones de características como Unicode , subprocesos y tabulación. [ 3 ] Uso de bibliotecas no disponibles en otras implementaciones y organización de bibliotecas: [ 2 ]
Actualmente, la forma en que los predicados se distribuyen entre las bibliotecas y las funciones integradas del sistema difiere enormemente. [...] Afortunadamente, solo hay unos pocos casos en los que encontramos predicados con el mismo nombre pero con semántica diferente (por ejemplo,
delete/3).
Características principales
Características del sistema operativo y relacionadas con la web
Análisis estático
Optimizaciones
Liberar
Puntos de referencia
- Problemas de evaluación comparativa: Evaluación comparativa de Prolog impar , diferencias de rendimiento. [ 18 ]
- Software de evaluación comparativa: versiones anteriores , Dobry's Benchmarks , Aquarius benchmark suite , (Bothe, 1990), [ 19 ] (Demoen et al. 2001) , descripciones de evaluación comparativa
- Resultados de evaluación comparativa: B-Prolog , SICStus , XSB, [ 20 ] SICStus vs Yap vs hProlog [ 21 ]
- Resultados de la evaluación comparativa: Estudio de motores Java Prolog realizado por Michael Zeising.
- Resultados de la evaluación comparativa: OpenRuleBench, evaluación comparativa anual de código abierto de motores de reglas.
Notas
Referencias
- 1 2 Philipp Körner; Michael Leuschel; João Barbosa; Vítor Santos Costa; Verónica Dahl; Manuel V. Hermenegildo; José F. Morales; Jan Wielemaker; Daniel Díaz; Salvador Abreu; Giovanni Ciatto (noviembre de 2022), "Cincuenta años de Prolog y más allá", Teoría y práctica de la programación lógica , 22 (6): 776– 858, doi : 10.1017/S1471068422000102 , hdl : 10174/33387
- 1 2 3 4 Wielemaker, J.; Costa, VTS (2011). "Sobre la portabilidad de las aplicaciones Prolog". Aspectos prácticos de los lenguajes declarativos . 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.
- ↑ Jan Wielemaker y Vıtor Santos Costa: Portabilidad de programas Prolog: teoría y estudios de caso . Taller CICLOPS-WLPE 2010. Archivado el 16 de julio de 2010 en Wayback Machine .
- ↑ Allegro Prólogo
- ↑ "DOS-Prolog 8.0" . Logic Programming Associates . 5 de noviembre de 2023.
- ↑ JIPrólogo
- 1 2 "Página principal de JLog" . jlogic.sourceforge.net . Consultado el 3 de noviembre de 2023 .
- ↑ "Jtrolog — Java.net" . 13 de noviembre de 2012. Archivado del original el 13 de noviembre de 2012. Consultado el 3 de noviembre de 2023 .
- ↑ "WIN-Prolog 8.0" . Logic Programming Associates . 5 de noviembre de 2023.
- ↑ Abrir la página principal de Prolog
- ↑ Prólogo del adivino
- ↑ Prólogo de fresa
- ↑ tuProlog
- ↑ https://github.com/ciao-lang/ciao
- ↑ https://github.com/mthom/scryer-prolog
- ↑ https://github.com/SWI-Prolog/swipl-devel/tags
- ↑ https://github.com/tuProlog/2p-kt/releases
- ↑ B. Demoen y P. Nguyen, Acerca de las diferencias de rendimiento innecesarias entre las implementaciones de Prolog, Actas del Coloquio sobre Implementación de Sistemas de Programación Lógica y de Restricciones (CICLOPS 2001)
- ↑ Bothe, K. (1990). "Un conjunto de pruebas comparativas para el espacio prolog" . ACM SIGPLAN Notices . 25 (12): 54– 60. doi : 10.1145/122193.122197 .
- ↑ Resumen del rendimiento de XSB (1993)
- ↑ Demoen, B.; Nguyen, PL; 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.
Enlaces externos
- Descripción general de los sistemas Prolog por Ulrich Neumerkel
- Evaluación de la conformidad I: Sintaxis
- Familia de lenguajes de programación Prolog
- Comparación de software