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

3 hours 13 min ago

10 hours 31 min ago

16 hours 2 min ago

16 hours 10 min ago

20 hours 21 min ago

1 day 14 hours ago

1 day 16 hours ago

1 day 18 hours ago

1 day 19 hours ago

1 day 21 hours ago