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)