2014
DOI: 10.1017/s1471068414000167
|View full text |Cite
|
Sign up to set email alerts
|

A Linear Logic Programming Language for Concurrent Programming over Graph Structures

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… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
12
0

Year Published

2014
2014
2017
2017

Publication Types

Select...
4
3
1

Relationship

2
6

Authors

Journals

citations
Cited by 10 publications
(12 citation statements)
references
References 25 publications
0
12
0
Order By: Relevance
“…There has been much work on producing executable implementations from formal specifications, for example, from process algebras [37], I/O automata [31], Unity [35], and Seuss [40], as well as from more recently proposed high-level languages for distributed algorithms, for example, Datalog-based languages Meld [6], Overlog [4], and Bloom [13], a Prolog-based language DAHL [58], and a logic-based language EventML [14,67]. An operational semantics was studied recently for a variant of Meld, called Linear Meld, that allows updates to be encoded more conveniently than Meld by using linear logic [22]. Compilation of DistAlgo to executable implementations is easy because it is designed to be so and DistAlgo is given an operational semantics.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…There has been much work on producing executable implementations from formal specifications, for example, from process algebras [37], I/O automata [31], Unity [35], and Seuss [40], as well as from more recently proposed high-level languages for distributed algorithms, for example, Datalog-based languages Meld [6], Overlog [4], and Bloom [13], a Prolog-based language DAHL [58], and a logic-based language EventML [14,67]. An operational semantics was studied recently for a variant of Meld, called Linear Meld, that allows updates to be encoded more conveniently than Meld by using linear logic [22]. Compilation of DistAlgo to executable implementations is easy because it is designed to be so and DistAlgo is given an operational semantics.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Meld was based on a variant of Datalog extended with sensing and action facts. Recent refinements [2] extended Meld with comprehension patterns and linearity, but refocused it on distributed programming of multicore architectures.…”
Section: Related Workmentioning
confidence: 99%
“…Declarative languages have been proposed to model systems in a variety of domains such as networks, mobile agent planning, and algorithms for graph structures (e.g., Network Datalog (NDLog) [30], MELD [7], Linear Meld [15], Netlog [20], DAHL [32], Dedalus [3]). However, there has been few work on analyzing low-level correctness properties of declarative programs.…”
Section: Related Workmentioning
confidence: 99%