A logic programming language is a DeclarativeLanguage based on the application of PredicateLogic. PrologLanguage is the prime example.
There's also MercuryLanguage, OzLanguage... Lots of others, I'm sure. I think PrologLanguage is a really powerful tool for decision-making. I don't know if I'd ever want to write major applications in it, but having an InferenceEngine around is really slick.
There's also ConstraintProgramming ... http://brownbuffalo.sourceforge.net/ has some great examples for teaching constraint logic programming with finite domains using Eclipse, which seems to be a lot like prolog. Eclipse is a pain to download (you have to fax stuff), but I found I could follow the examples fairly easily using OzLanguage, another ConstraintProgramming language.
Common Logic Controlled English (CLCE) http://www.jfsowa.com/clce/specs.htm is a language for logic in English-like syntax proposed by John F. Sowa. An implementation of the language in Scheme can be found at http://www.leidig-online.de/torsten/archives/2004-12.html#e2004-12-31T15_59_46.txt.
Logical statements read much like ordinary English and easier to understand as the following sample statements show:
Every person has some person as mother.
;
Every cat is on a mat.
;
Some person is between a dog and a blue cat.
;
If some person x is the mother of a person y,
then y is a child of x.
Is SETL a LogicProgrammingLanguage?
"The SETL programming language, almost as old as C, is closely modeled on set theory and looks like a version of Perl with a mathematical flavour. ... SETL (Set Language)"
-- "An Invitation to SETL" article by Roberto De Leo on Tue, 2004-12-28 -- http://www.linuxjournal.com/article/6805
The original version could be called a logic language, due to the backtracking feature (very similar to AmbSpecialForm.) No modern implementation has that feature, unfortunately.
-- FinnWilcox
See also: