Hostname: page-component-74656f9884-2dmjx Total loading time: 0 Render date: 2026-11-07T00:18:14.020Z Has data issue: false hasContentIssue false

A Linear Logic Programming Language for Concurrent Programming over Graph Structures

Published online by Cambridge University Press:  21 July 2014

FLAVIO CRUZ
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213 (e-mail: fmfernan@cs.cmu.edu, seth@cs.cmu.edu, fp@cs.cmu.edu) CRACS & INESC TEC, Faculty of Sciences, University Of Porto, Rua do Campo Alegre, 1021/1055, 4169-007 Porto, Portugal (e-mail: ricroc@dcc.fc.up.pt)
RICARDO ROCHA
Affiliation:
CRACS & INESC TEC, Faculty of Sciences, University Of Porto, Rua do Campo Alegre, 1021/1055, 4169-007 Porto, Portugal (e-mail: ricroc@dcc.fc.up.pt)
SETH COPEN GOLDSTEIN
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213 (e-mail: fmfernan@cs.cmu.edu, seth@cs.cmu.edu, fp@cs.cmu.edu)
FRANK PFENNING
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213 (e-mail: fmfernan@cs.cmu.edu, seth@cs.cmu.edu, fp@cs.cmu.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2014