Hostname: page-component-77f85d65b8-g98kq Total loading time: 0 Render date: 2026-03-28T08:28:42.800Z Has data issue: false hasContentIssue false

Tau Prolog: A Prolog Interpreter for the Web

Published online by Cambridge University Press:  18 September 2023

JOSÉ A. RIAZA*
Affiliation:
Department of Computing Systems, University of Castilla-La Mancha, 02071 Albacete, Spain (e-mail: JoseAntonio.Riaza@uclm.es)
Rights & Permissions [Opens in a new window]

Abstract

Tau Prolog is a client-side Prolog interpreter fully implemented in JavaScript, which aims at implementing the ISO Prolog Standard. Tau Prolog has been developed to be used with either Node.js or a browser seamlessly, and therefore, it has been developed following a non-blocking, callback-based approach to avoid blocking web browsers. Taking the best from JavaScript and Prolog, Tau Prolog allows the programmer to handle browser events and manipulate the Document Object Model (DOM) of a web using Prolog predicates. In this paper we describe the architecture of Tau Prolog and its main packages for interacting with the Web, and we present its programming environment.

Information

Type
Technical Note
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2023. Published by Cambridge University Press
Figure 0

Fig. 1. Screenshot of the Tau Prolog Sandbox online tool running a Prolog program.

Figure 1

Fig. 2. Screenshot of the Tau Prolog Sandbox online tool under the HTML editor.

Figure 2

Fig. 3. Graphical derivation tree generated by Tau Prolog.

Figure 3

Table 1. Average runtime (in seconds) of Prolog programs on different systems