High-Level Multi-threading programming in Logtalk
Moura, P.M.
;
Crocker, P.
High-Level Multi-threading programming in Logtalk, Proc International Symp. on Practical Aspects of Declarative Languages - PADL, san francisco, United States, Vol. 4902, pp. 265 - 281, January, 2008.
Digital Object Identifier:
Abstract
Logtalk, an object oriented logic programming language, pro-
vides experimental support for multi-threading programming with se-
lected back-end Prolog compilers. By making use of core, low-level Prolog
predicates that interface with operating-system native threads, Logtalk
provides a high-level set of directives and predicates that allows program-
mers to easily take advantage of modern multi-processor and multi-core
computers without worrying about the details of creating, synchroniz-
ing, or communicating with threads. Logtalk multi-threading program-
ming features include support for concurrent calls akin to and-parallelism
and or-parallelism, non-deterministic thread goals, asynchronous calls,
and predicate synchronization. The integration with the Logtalk ob ject-
oriented features allows ob jects to send and receive both synchronous and
asynchronous messages and to call local predicates concurrently. Logtalk
multi-threading features are orthogonal to ob ject-oriented concepts and
can be useful even in the context of plain Prolog.