DATALOG AS A PARALLEL GENERAL PURPOSE PROGRAMMING LANGUAGE
John G. Cleary, Mark Utting, Roger Clayton · Research Commons (University of Waikato) · 2010
Abstract. The increasing available parallelism of computers demands new programming languages that make parallel programming dramati-cally easier and less error prone. It is proposed that datalog with negation and timestamps is a suitable basis for a general purpose programming language for sequential, parallel and distributed computers. This paper develops a fully incremental bottom-up interpreter for dat-alog that supports a wide range of execution strategies, with trade-offs affecting efficiency, parallelism and control of resource usage. Examples show how the language can accept real-time external inputs and out-puts, and mimic assignment, all without departing from its pure logical semantics. 1