Providing Iteration and concurrency in Logic Programs Through Bounded Quantifications.

Jonas Barklund, Håkan Millroth · 1992

Programs operating on inductively defined data structures, such as lists, are naturally defined by recursive programs, while programs operating on `indexable' data structures, such as arrays, are naturally defined by iterative programs. It has recently been shown how many recursive programs can be transformed or compiled to iterative programs operating on arrays. Such transformed programs can be run more efficiently than the original programs, particularly on parallel computers. The present work is aimed at providing means for writing such iterative programs directly, using available language constructs of first order predicate calculus. The paper proposes the introduction of `bounded quantifications' in logic programming languages. These formulas offer a natural way to express programs operating on arrays and other `indexable' data structures. `Bounded quantifications' are similar to `array comprehensions' in functional languages such as Haskell. They are inherently concurrent and can...

Read the paper · More papers on PaperTik