# LinearLogicProgramming

*ThoughtStorms Wiki*

Context : LogicProgramming

Linear Logic Programming is the a kind of Logic Programming (eg. PrologLanguage) which manages *resources* ie. as well as deductive rules :

`P(X,Y) :- P(X,Z), P(Z,Y).`

which basically leaves you with the original facts intact, linear logic manages a kind of local state where when a rule fires it *consumes* some of its inputs, leaving the state of the database different.

Often this is the "lolli" operator. Eg. :

```
P(X,Y) -o P(X,Z), P(Z,Y).
P(a,b).
P(b,c).
```

would fire and leave just the

```
P(X,Y) -o P(X,Z), P(Z,Y).
P(a,c).
```

in the database, but remove the `P(a,b).`

& `P(b,c).`

This is kind of what I'm looking for for using logic programming for code-generation.

Hard to get hold of a language to try this though.

Seems best bet, but I'd have to compile it from ML.

Use it for narrative generation : https://www.cs.cmu.edu/~cmartens/lpnmr13.pdf

Translating to Java : https://www.sciencedirect.com/science/article/pii/S1571066105801112

For concurrent graph structures : https://arxiv.org/abs/1405.3556, https://arxiv.org/pdf/1405.3556.pdf

*Backlinks* *(4 items)*