La programación lógica es un paradigma de programación informática en el que las declaraciones del programa expresan hechos y reglas sobre problemas dentro de un sistema de lógica formal. Las reglas se escriben como cláusulas lógicas con una cabeza y un cuerpo; por ejemplo, «H es verdadera si B1, B2 y B3 son verdaderas.» Los hechos se expresan de forma similar a las reglas, pero sin cuerpo; por ejemplo, «H es verdadera».
Algunos lenguajes de programación lógica, como Datalog y ASP (Answer Set Programming), son puramente declarativos. Permiten declaraciones sobre lo que el programa debe lograr, sin instrucciones explícitas paso a paso sobre cómo hacerlo. Otros, como el Prolog, son una combinación de declaraciones e imperativos. También pueden incluir declaraciones procedimentales, como «Para resolver H, resuelve B1, B2 y B3.»
Lenguajes utilizados para la programación lógica
- Absys
- ALF (lenguaje de programación funcional de lógica algebraica).
- Depuración de programas algorítmicos
- Alice
- Alma-0
- ASP (Answer Set Programming)
- CHIP
- Ciao
- CLACL
- CycL
- Datalog
- Datomic
- DLV
- ECLiPSe
- F-lógica
- Flora-2
- Fril
- FuzzyCLIPS
- Gödel
- HiLog
- Janus
- ΛProlog
- Logtalk
- Sistema Maude
- Mercurio
- MetaL
- Sistema de programación Mozart
- Oz
- Parlog
- Planificador
- PROGOL
- Prolog
- Prolog++
- Prova
- .QL
- Lenguaje de modelado Rebeca
- ROOP
- SICStus Prolog
- SWI-Prolog
- ToonTalk
- Lógica de transacciones
- Twelf
- Prolog visual
- XSB
Lenguaje, Lógica, Aprendizaje automático, Paradigma, Términos de programación