# Logic Programming

Updated: 2018-12-23
by Pradeep Gowda.

Tagged: programming-language

To Read:

- Sterling and Shapiro Sterling, Leon, and Ehud Shapiro.
*The art of prolog: Advanced programming techniques*, 1986. is often recommended as the introductory text to Logic Programming. - Nominal Logical Programming Cheney, James, and Christian Urban. “Nominal logic programming,” 2006. abs/cs/0609062. – is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, alpha-equivalence). “powerful tool for informal reasoning about theoretical computer science. For me it made theoretical computer science tangible, and I hope these series of posts can do the same for the reader.” – swannodette
- miniKanren – is an embedded Domain Specific Language for logic programming. See also: Will Byrd’s Thesis – Relational Programming in miniKanren: Techniques, applications and implementations Byrd, William E. “Relational programming in minikanren: Techniques, applications, and implementations,” 2010.
- For real world applications of logic programming see – Concepts, Techniques, and Models of Computer Programming by Roy, Haridi and Seif Van Roy, Peter, and Seif Haridi.
*Concepts, techniques, and models of computer programming*, 2004.

## Software

- logic-db is a js lib to combine logic programming and database

## Misc

- Datalog 2.0 workshop –for Datalog pioneers, implementors, and current practitioners.