Continuations for Parallel Logic Programming

by Eneia Todoran and Nikolaos S. Papaspyrou

This paper gives denotational models for three logic programming

languages of progressive complexity, adopting the

"logic programming without logic" approach. The first language

is the control ow kernel of sequential Prolog, featuring

sequential composition and backtracking. A committed-choice

concurrent logic language with parallel composition

(parallel AND) and don't care nondeterminism is studied

next. The third language is the core of Warren's basic Andorra

model, combining parallel composition and don't care

nondeterminism with two forms of don't know nondeterminism

(interpreted as sequential and parallel OR) and favoring

deterministic over nondeterministic computation. We show

that continuations are a valuable tool in the analysis and

design of semantic models for both sequential and parallel

logic programming. Instead of using mathematical notation,

we use the functional programming language Haskell

as a metalanguage for our denotational semantics, and employ

monads in order to facilitate the transition from one

language under study to another.

This paper happens to combine several topics that interest me lately - AKL (a precursor of Oz), denotational semantics, continuations, and implementing programming languages in Haskell.

If you share at least some of these interests - take a look!

## Recent comments

1 week 1 day ago

1 week 4 days ago

2 weeks 5 days ago

3 weeks 1 day ago

3 weeks 2 days ago

3 weeks 2 days ago

4 weeks 6 days ago

4 weeks 6 days ago

6 weeks 4 days ago

9 weeks 6 days ago