On Compiling Linear Logic Programs with Comprehensions, Aggregates and Rule Priorities
Flávio Cruz and Ricardo Rocha
June 2015
Abstract
Linear logic programs are challenging to implement efficiently because
facts are asserted and retracted frequently. Implementation is made
more difficult with the introduction of useful features such as rule
priorities, which are used to specify the order of rule inference, and
comprehensions or aggregates, which are mechanisms that make data
iteration and gathering more intuitive. In this paper, we describe a
compilation scheme for transforming linear logic programs enhanced
with those features into efficient C++ code. Our experimental results
show that compiled logic programs are less than one order of magnitude
slower than hand-written C programs and much faster than interpreted
languages such as Python.
Bibtex
@InProceedings{cruz-padl15,
author = {F. Cruz and R. Rocha},
title = {{On Compiling Linear Logic Programs with Comprehensions,
Aggregates and Rule Priorities}},
booktitle = {Proceedings of the 17th International Symposium on Practical Aspects of Declarative
Languages (PADL 2015)},
pages = {34--49},
number = {9131},
series = {LNCS},
publisher = {Springer},
editor = {E. Pontelli and Son Cao Tran},
month = {June},
year = {2015},
address = {Portland, Oregon, USA},
}
Download Paper
PDF file
Springer