Towards structured state threading in prolog

Ivanovic, Dragan and Morales Caballero, José Francisco and Carro Liñares, Manuel and Hermenegildo, Manuel V. (2009). Towards structured state threading in prolog. In: "9 th International Colloquium on Implementation of Constraint and LOgic Programming Systems", 14 th July, 2009, Pasadena, CA, USA.

Description

Title: Towards structured state threading in prolog
Author/s:
  • Ivanovic, Dragan
  • Morales Caballero, José Francisco
  • Carro Liñares, Manuel
  • Hermenegildo, Manuel V.
Item Type: Presentation at Congress or Conference (Article)
Event Title: 9 th International Colloquium on Implementation of Constraint and LOgic Programming Systems
Event Dates: 14 th July, 2009
Event Location: Pasadena, CA, USA
Title of Book: Proceedings of CICLOPS 2009
Date: July 2009
Subjects:
Freetext Keywords: Stateful computation, State abstraction, Contexts, Prolog extensions, Contexto, Extensiones de Prolog.
Faculty: Facultad de Informática (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (818kB) | Preview

Abstract

It is very often the case that programs require passing, maintaining, and updating some notion of state. Prolog programs often implement such stateful computations by carrying this state in predicate arguments (or, alternatively, in the internal datábase). This often causes code obfuscation, complicates code reuse, introduces dependencies on the data model, and is prone to incorrect propagation of the state information among predicate calis. To partly solve these problems, we introduce contexts as a consistent mechanism for specifying implicit arguments and its threading in clause goals. We propose a notation and an interpretation for contexts, ranging from single goals to complete programs, give an intuitive semantics, and describe a translation into standard Prolog. We also discuss a particular light-weight implementation in Ciao Prolog, and we show the usefulness of our proposals on a series of examples and applications, including code directiy using contexts, DCGs, extended DCGs, logical loops and other custom control structures.

More information

Item ID: 14591
DC Identifier: http://oa.upm.es/14591/
OAI Identifier: oai:oa.upm.es:14591
Official URL: http://www.cse.unt.edu/~tarau/ciclops09
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 06 Mar 2013 07:32
Last Modified: 21 Apr 2016 14:19
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM