stringtranslate.com

Comparación de implementaciones de Prolog

La siguiente Comparación de implementaciones de Prolog proporciona una referencia para los conjuntos de características relativas y el rendimiento de diferentes implementaciones del lenguaje de programación informática Prolog . En un artículo publicado en la edición del 50 aniversario de Prolog de la revista Theory and Practice of Logic Programming (TPLP) se presenta una discusión exhaustiva de los sistemas Prolog más importantes. [1]

Portabilidad

Implementaciones de Prolog y sus influencias mutuas.

Hay implementaciones de Prolog que son radicalmente diferentes, con diferente sintaxis y diferente semántica (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 portátil a través de 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 a la portabilidad incluyen: uso de aritmética de enteros acotada versus ilimitada, tipos adicionales como objetos de cadena, tipos numéricos avanzados (racionales, complejos), extensiones de funciones como Unicode , subprocesos y tablas. [3] Uso de bibliotecas no disponibles en otras implementaciones y organización de la biblioteca: [2]

Actualmente, la forma en que se distribuyen los predicados entre las bibliotecas y las funciones integradas del sistema difiere enormemente. [...] Afortunadamente, hay pocos casos en los que encontramos predicados con el mismo nombre pero con diferente semántica (p. ej. delete/3)

Principales características

Sistema operativo y funciones relacionadas con la web.

Análisis estático

Optimizaciones

Liberar

Puntos de referencia

Notas

  1. ^ ab La interfaz C/Java también se puede utilizar para gráficos y control del sistema operativo.

Referencias

  1. ^ ab 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), doi : 10.1017/S1471068422000102 , hdl : 10174/33387
  2. ^ abcd Wielemaker, J.; Costa, VTS (2011). "Sobre la portabilidad de las aplicaciones Prolog". Aspectos prácticos de los lenguajes declarativos . Apuntes de conferencias sobre informática. vol. 6539, págs. 69–83. CiteSeerX 10.1.1.1030.9396 . doi :10.1007/978-3-642-18378-2_8. ISBN  978-3-642-18377-5.
  3. ^ Jan Wielemaker y Vıtor Santos Costa: Portabilidad de los programas Prolog: teoría y estudios de casos. Taller CICLOPS-WLPE 2010 Archivado el 16 de julio de 2010 en Wayback Machine .
  4. ^ "DOS-Prólogo 8.0". Asociados de programación lógica . 5 de noviembre de 2023.
  5. ^ ab "Página de inicio de JLog". jlogic.sourceforge.net . Consultado el 3 de noviembre de 2023 .
  6. ^ "Jtrolog-Java.net". 2012-11-13. Archivado desde el original el 13 de noviembre de 2012 . Consultado el 3 de noviembre de 2023 .
  7. ^ "WIN-Prolog 8.0". Asociados de programación lógica . 5 de noviembre de 2023.
  8. ^ B. Demoen y P. Nguyen, Acerca de las diferencias de rendimiento innecesarias entre las implementaciones de Prolog, Actas del Coloquio sobre la implementación de sistemas de programación lógica y de restricciones (CICLOPS 2001)
  9. ^ Ambos, K. (1990). "Un conjunto de pruebas espaciales de prólogo". Avisos ACM SIGPLAN . 25 (12): 54–60. doi : 10.1145/122193.122197 .
  10. ^ Un resumen del rendimiento de XSB (1993)
  11. ^ Demoen, B.; Nguyen, PL; Vandeginste, R. (2002). "Copiar recolección de basura para WAM: ¿marcar o no marcar?". Programación Lógica . Apuntes de conferencias sobre informática. vol. 2401, págs. 194-208. CiteSeerX 10.1.1.13.2586 . doi :10.1007/3-540-45619-8_14. ISBN  978-3-540-43930-1.

enlaces externos