A Linear Logic Programming Language for Concurrent Programming over Graph Structures
Flávio Cruz, Ricardo Rocha, Seth Copen Goldstein and Frank Pfenning
July 2014
Abstract
We have designed a new logic programming language called LM (Linear
Meld) for programming graph-based algorithms in a declarative
fashion. Our language is based on linear logic, an expressive logical
system where logical facts can be consumed. Because LM integrates both
classical and linear logic, LM tends to be more expressive than other
logic programming languages. LM programs are naturally concurrent
because facts are partitioned by nodes of a graph data structure.
Computation is performed at the node level while communication happens
between connected nodes. In this paper, we present the syntax and
operational semantics of our language and illustrate its use through a
number of examples.
Bibtex
@Article{cruz-iclp14,
author = {F. Cruz and R. Rocha and S. C. Goldstein and F. Pfenning},
title = {{A Linear Logic Programming Language for Concurrent Programming over Graph Structures}},
journal = {Journal of Theory and Practice of Logic Programming,
30th International Conference on Logic Programming (ICLP 2014), Special Issue},
pages = {493--507},
volume = {14},
number = {4 \& 5},
month = {July},
year = {2014},
note = {Best Paper Award},
}
Download Paper
PDF file
Cambridge University Press
Computing Research Repository (CoRR)