Rewriting Logic Semantics of Prolog
From FSL
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
1993 summary of the Prolog ISO standard
by Michael A. Covington can be useful when thinking about defining Prolog. A good (free) implementation of Prolog is SWI-Prolog.
Contents |
[edit] MProlog
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.
[edit] 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:
MProlog.zip
. A K definition was automatically extracted from the Maude definition and can be also be downloaded:
MProlog-K.pdf
In order to make our definition Maude-friendly, the Prolog syntax was adjusted.
Hovever, our online iterface uses a syntax modifier to automatically translate a Prolog program and query into a MProlog program.
- the current distribution:
MProlog.zip
[edit] Documentation
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. However, if you are only interested in running it, we strongly recomend the online interface .
[edit] Publications
to come :)


