's reply is good. Check Language::Prolog
As far as I know, it is currently a beta version.
But, if you want to "reinvent the wheel"
, you should
consider reading something on the following topics:
- Propositional logic
- Predicate logic
- Herbrand's Theory
- Godel-Herbrand-Skolen Theorem
- Resolution and Robinson's Algorithm
- Horn Clause Programs
You can check them in that order :)
Logic programming slogan "I tell you what I know and what I'd like
to know, without telling you how"
showed its practical unapplicability
over the years: every logic programming language includes extralogic
operators, such as cut
, that introduce elements of imperative
programming in the language ("I tell you what I know and what I'd like
to know, without telling you how... Well, I will help you a bit"
Despite of their impure nature, logic programming languages are very
interesting and I think they're worth studying.