Using SWISH to realise interactive web based tutorials for logic based languages
File(s)swish final accepted version.pdf (2.68 MB)
Accepted version
Author(s)
Type
Journal Article
Abstract
Programming environments have evolved from purely text based to using graphical user
interfaces, and now we see a move towards web based interfaces, such as Jupyter. Web
based interfaces allow for the creation of interactive documents that consist of text and
programs, as well as their output. The output can be rendered using web technology as,
e.g., text, tables, charts or graphs. This approach is particularly suitable for capturing data
analysis workflows and creating interactive educational material. This article describes
SWISH, a web front-end for Prolog that consists of a web server implemented in SWI-
Prolog and a client web application written in JavaScript. SWISH provides a web server
where multiple users can manipulate and run the same material, and it can be adapted
to support Prolog extensions. In this paper we describe the architecture of SWISH, and
describe two case studies of extensions of Prolog, namely Probabilistic Logic Programming
(PLP) and Logic Production System (LPS), which have used SWISH to provide tutorial sites.
interfaces, and now we see a move towards web based interfaces, such as Jupyter. Web
based interfaces allow for the creation of interactive documents that consist of text and
programs, as well as their output. The output can be rendered using web technology as,
e.g., text, tables, charts or graphs. This approach is particularly suitable for capturing data
analysis workflows and creating interactive educational material. This article describes
SWISH, a web front-end for Prolog that consists of a web server implemented in SWI-
Prolog and a client web application written in JavaScript. SWISH provides a web server
where multiple users can manipulate and run the same material, and it can be adapted
to support Prolog extensions. In this paper we describe the architecture of SWISH, and
describe two case studies of extensions of Prolog, namely Probabilistic Logic Programming
(PLP) and Logic Production System (LPS), which have used SWISH to provide tutorial sites.
Date Issued
2019-03-01
Date Acceptance
2018-10-04
Citation
Theory and Practice of Logic Programming, 2019, 19 (2), pp.229-261
ISSN
1471-0684
Publisher
Cambridge University Press (CUP)
Start Page
229
End Page
261
Journal / Book Title
Theory and Practice of Logic Programming
Volume
19
Issue
2
Copyright Statement
© 2019 Cambridge University Press. This paper has been accepted for publication and will appear in a revised form, subsequent to peer-review and/or editorial input by Cambridge University Press.
Subjects
Science & Technology
Technology
Computer Science, Software Engineering
Computer Science, Theory & Methods
Logic
Computer Science
Science & Technology - Other Topics
Prolog
logic programming system
notebook interface
web
PROGRAMS
INFERENCE
Computation Theory & Mathematics
0803 Computer Software
0801 Artificial Intelligence and Image Processing
0802 Computation Theory and Mathematics
Publication Status
Published
Date Publish Online
2019-02-15