Teaching pure LP with prolog and a fair search rule.

Hermenegildo, Manuel V. ORCID: https://orcid.org/0000-0002-7583-323X, Morales Caballero, José Francisco ORCID: https://orcid.org/0000-0001-9782-8135 and López García, Pedro ORCID: https://orcid.org/0000-0002-1092-2071 (2024). Teaching pure LP with prolog and a fair search rule.. En: "Workshop Proceedings of the 40th International Conference on Logic Programming (ICLP-WS 2024) co-located with the 40th International Conference on Logic Programming (ICLP 2024)", 12-13 octubre 2024, Dallas, USA. ISBN 1613-0073.

Descripción

Título: Teaching pure LP with prolog and a fair search rule.
Autor/es:
Tipo de Documento: Ponencia en Congreso o Jornada (Artículo)
Título del Evento: Workshop Proceedings of the 40th International Conference on Logic Programming (ICLP-WS 2024) co-located with the 40th International Conference on Logic Programming (ICLP 2024)
Fechas del Evento: 12-13 octubre 2024
Lugar del Evento: Dallas, USA
Título del Libro: ICLP Workshops 2024
Fecha: Octubre 2024
ISBN: 1613-0073
Volumen: 3799
Materias:
ODS:
Palabras Clave Informales: Teaching prolog, teaching logic programming, logic programming, constraint logic programming
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Inteligencia Artificial
Licencias Creative Commons: Reconocimiento - No comercial

Texto completo

[thumbnail of HERME_2024_01.pdf] PDF (Portable Document Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB)

Resumen

Classic Prolog has many features, and even more in its modern incarnations. Many of these features are well aligned with the view of pure Logic Programming as both a specification tool and a programming language. However, some other Prolog aspects depart from this view. Classic examples that have received much attention are assert/retract or the cut. Our focus here is however on the depth-first search rule. While well justified by practical concerns, using only depth-first from the start also introduces early on the need to reason about termination, and also possibly a need to use impure features to make different modes produce answers in finite time. Termination of course has to be faced sooner or later by any programmer, but having to do it right at the start can detract from being able to convey early on the vision of Prolog as a declarative language where one can first concentrate on problem specification and/or knowledge representation and only later worry about efficiency. We review a number of ways in which some of these issues can be tackled when teaching Prolog, while still using throughout a Prolog system. The aim is tutorial, in the hope that these ideas can help other instructors that are teaching or plan to teach Prolog. We believe that some of these considerations may also come in handy when combining Prolog with modern, AI-assisted programming methodologies.

Proyectos asociados

Tipo
Código
Acrónimo
Responsable
Título
Gobierno de España
PID2019-108528RB-C21
Sin especificar
Sin especificar
ProCode
Gobierno de España
TED2021-132464B-I00
Sin especificar
Sin especificar
PRODIGY

Más información

ID de Registro: 93510
Identificador DC: https://oa.upm.es/93510/
Identificador OAI: oai:oa.upm.es:93510
URL Oficial: https://ceur-ws.org/Vol-3799/paper2PEG2.0.pdf
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 29 Ene 2026 11:34
Ultima Modificación: 29 Ene 2026 11:37