IMDEA Software

IMDEA initiative

Home > Events > Software Seminar Series > 2009 > Structured State Threading in Prolog

Dragan Ivanovic

Tuesday, April 21, 2009

11:00am Meeting room 302 (Mountain View), level 3

Dragan Ivanovic, PhD Student, Technical University of Madrid (UPM), Spain

Structured State Threading in Prolog

Abstract:

Representing and handling state mutations in Prolog can be cumbersome without resorting to internal database, global variables, or destructive assignment. In standard Prolog, state is usually carried in additional predicate arguments, and the programmer is responsible for manually ensuring threading. Furthermore, such code usually has to be significantly rewritten whenever state structure changes. The result is code that is complicated, error prone, hard to maintain and characterized by a low degree of reuse. These problems make Prolog less appealing for development of complex software systems.

The talk is about the work in progress on extending Prolog with contextual notation and semantics for automatic threading of structured state using source code transformation. We tackle the underlying concepts, rules, techniques, mechanisms and Ciao implementation. We reflect on their relationships with typing, module system, program analysis, and object-oriented programming paradigm.