Hostname: page-component-89b8bd64d-j4x9h Total loading time: 0 Render date: 2026-05-07T01:05:25.416Z Has data issue: false hasContentIssue false

Using SWISH to Realize Interactive Web-based Tutorials for Logic-based Languages

Published online by Cambridge University Press:  15 February 2019

JAN WIELEMAKER
Affiliation:
Centrum Wiskunde & Informatica, Amsterdam, Netherlands (e-mail: J.Wielemaker@cwi.nl)
FABRIZIO RIGUZZI
Affiliation:
Department of Mathematics and Computer Science, University of Ferrara (e-mail: fabrizio.riguzzi@unife.it)
ROBERT A. KOWALSKI
Affiliation:
Imperial College, London, UK (e-mail: r.kowalski@imperial.ac.uk)
TORBJÖRN LAGER
Affiliation:
University of Gothenburg, Gothenburg, Sweden (e-mail: lager@ling.gu.se)
FARIBA SADRI
Affiliation:
Imperial College, London, UK (e-mail: fs@doc.ic.ac.uk)
MIGUEL CALEJO
Affiliation:
Logical Contracts, Lisbon, Portugal (e-mail: mc@logicalcontracts.com)

Abstract

Programming environments have evolved from purely text based to using graphical user interfaces, and now we see a move toward 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, for example, 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 article we describe the architecture of SWISH, and describe two case studies of extensions of Prolog, namely Probabilistic Logic Programming and Logic Production System, which have used SWISH to provide tutorial sites.

Information

Type
Original Article
Copyright
Copyright © Cambridge University Press 2019 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable