From FSL
Jump to: navigation, search

The Prolog language is the most representative in the Logic Programming class of languages. A good (online) introduction to Logic Programming in general, can be found in Logic, Programming and Prolog (2ed) by Ulf Nilsson and Jan Maluszynski. A 25px-Pdf_icon.png 1993 summary of the Prolog ISO standard Info_circle.png by Michael A. Covington can be useful when thinking about defining Prolog. A good (free) implementation of Prolog is SWI-Prolog.


MProlog was started as a programming language class project by Ralf Sasse and Musab AlTurki and further refined and K-ified with help from Traian Florin Serbanuta and Grigore Rosu.

Current Release

The current status of MProlog is pre-alpha, that is, the definition is just a proof of concept and might change dramatically in the future.

Currently, in order to make the definition as compact as possible, we have only defined a limited subset of the standard - most notably giving up logical or, dynamic assertion and retraction and input/output.

The formal Maude definition is available: 25px-Zip_icon.png Info_circle.png. A K definition was automatically extracted from the Maude definition and can be also be downloaded: 25px-Pdf_icon.png MProlog-K.pdf Info_circle.png

In order to make our definition Maude-friendly, the Prolog syntax was adjusted.


For now, the only documentation are the comments in found in the Maude definition.

To run it you would have to load maude, then load the MProlog definition

load main

then either load an example from the Tests or build your own example.

Personal tools