This is a tree of proof, also called search tree. It helps understanding how solutions are found for your querys. You can read more about it here.
These can been viewed for each step by hovering the mouse over an edge for a few seconds.
Zoom: mouse wheel; Moving around: drag nodes or drag on free space
You may try and right click on the tree. Firefox and Chrome both offer an option to save it as an image file.
Usage is very similar to SWISH, an online version of SWI Prolog.
In the left editor you put your program (see supported syntax below). Put your query in the bottom right editor. By clicking on "Run!" the interpreter will run the query against your program and try to give a first answer, which will appear on the top right. If you need more answers, you may click "next" below the answers. Each gray box keeps the program and query code and is not influenced by changes in the two editors.
Program and query code are saved in a cookie every minute and upon closing of the browser / tab. However, you should still save the code yourself and not rely on the cookie.
This is a very limited subset of Prolog! Don't get fooled by the syntax highlighting; it might provide highlighting for features that are not actually supported, because we didn't write the editor specifically for this interpreter.
These are the limitations:
The Prolog subset understood by the program can be viewed as a grammar here.
It is one of the few, if not the only Prolog interpreters that does a breadth-first-search as its SLD resolution strategy. This strategy/algorithm is semidecidable as opposed to the more common (and more efficient) depth-first-search, which is neither decidable nor semidecidable.
In simpler words: you are less likely to run into infinte loops. Consider this example:
a(X) :- a(X). a(a). ?- a(Z).
That program and query will run infinitely on a normal Prolog interpreter while this one will give you all solutions.
This is a known bug that has already been reported to Mozilla, see here. To workaround this issue, close the tabs Prolog BFS is running in and open it again.
The project was started in summer 2019 by Leonhard Kipp who coded the actual interpreter backend. Martin Weber joined the project later to create this web front end. Both are students of computer science at FH Aachen University of Applied Sciences in Aachen, Germany.
Yes. The project is hosted on Github.