Monadic concurrent linear logic programming

Pablo López, Frank Pfenning, Jeff Polakow, Kevin Watkins
2005 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming - PPDP '05  
Lolli is a logic programming language based on the asynchronous propositions of intuitionistic linear logic. It uses a backward chaining, backtracking operational semantics. In this paper we extend Lolli with the remaining connectives of intuitionistic linear logic restricted to occur inside a monad, an idea taken from the concurrent logical framework (CLF). The resulting language, called LolliMon, has a natural forward chaining, committed choice operational semantics inside the monad, while
more » ... aining Lolli's semantics outside the monad. LolliMon thereby cleanly integrates both concurrency and saturation with logic programming search. We illustrate its expressive power through several examples including an implementation of the pi-calculus, a call-byneed lambda-calculus, and several saturating algorithms presented in logical form.
doi:10.1145/1069774.1069778 dblp:conf/ppdp/LopezPPW05 fatcat:wsts6t7gwrgjhigxxnzake77um