Logic programming is a computer programming paradigm where program statements express facts and rules about problems within a system of formal logic. Rules are written as logical clauses with a head and a body; for instance, “H is true if B1, B2, and B3 are true.” Facts are expressed similar to rules, but without a body; for instance, “H is true.”

Some logic programming languages, such as Datalog and ASP (Answer Set Programming), are purely declarative. They allow for statements about what the program should accomplish, with no explicit step-by-step instructions on how to do so. Others, such as Prolog, are a combination of declarative and imperative. They may also include procedural statements, such as “To solve H, solve B1, B2, and B3.”

Languages used for logic programming

  • Absys
  • ALF (algebraic logic functional programming language).
  • Algorithmic program debugging
  • Alice
  • Alma-0
  • ASP (Answer Set Programming)
  • CHIP
  • Ciao
  • CLACL
  • CycL
  • Datalog
  • Datomic
  • DLV
  • ECLiPSe
  • F-logic
  • Flora-2
  • Fril
  • FuzzyCLIPS
  • Gödel
  • HiLog
  • Janus
  • ΛProlog
  • Logtalk
  • Maude system
  • Mercury
  • MetaL
  • Mozart Programming System
  • Oz
  • Parlog
  • Planner
  • PROGOL
  • Prolog
  • Prolog++
  • Prova
  • .QL
  • Rebeca Modeling Language
  • ROOP
  • SICStus Prolog
  • SWI-Prolog
  • ToonTalk
  • Transaction logic
  • Twelf
  • Visual Prolog
  • XSB

Language, Logic, Machine learning, Paradigm, Programming terms