by Patrick Blackburn, Johan Bos, and Kristina Striegnitz
available in book form since 2006, too. In english and french ("Prolog tout de suite" ... back to the roots, in a sense)
USE SWISH FOR EXPERIMENTATION: https://swish.swi-prolog.org/
Master reference resource
Wanna code? Then you need guidelines:
"Coding Guidelines for Prolog" by Michael Covington et al.
Check out Stanford Encyclopedia of Philosophy's entry on "Automated Reasoning"
In particular the chapter on Logic Programming
Robert Kowalski's paper "History of Logic Programming" (more like "The Prehistory" because modern approaches have not yet made it into the paper), 2014:
Robert Kowalski's paper "The Early Years of Logic Programming", 1988, which appeared in a "Communications of the ACM" special issue (January '88: https://cacm.acm.org/magazines/1988/1 ), paper available for example here:
Definite Clause Grammars (DCGs)
- https://en.wikipedia.org/wiki/Definite_clause_grammar (has more references)
Logic & Computation
On the SWI-Prolog bibliography page (https://eu.swi-prolog.org/pldoc/man?section=bibliography) a commenter mentions:
"Thinking as Computation" by Hector J. Levesque, 2012
One could add Kowalski's
"Computational Logic and Human Thinking - How to Be Artificially Intelligent"
(Free pre-publication PDF available)
(And seriously, I am still waiting for a textbook on Sadri/Kowalski's LPS system)
Natural Language Processing
Specifically for Natural Language Processing, there are tons of resources.
Here is a book by Springer
"An Introduction to Language Processing with Perl and Prolog: An Outline of Theories, Implementation, and Application with Special Consideration of English, French, and German" (2nd edition, 2014)
by Pierre M. Nugues
it contains an intro to Prolog, specifically SWI-Prolog.
Book (1987, 2002)
"Prolog and Natural-Language Analysis" (Original 1987, Millenial reissue 2002) by Fernando C. N. Pereira and Stuart M. Shieber
I liked the view on basic logic programming from the LISP side:
A thin book (but pricey, the more so because you will have to annotate it).
(Disregard the blurb saying "Friedman and Kiselyov extend Scheme to form a completely new kind of logic programming system, one which is in many ways even more elegant than Prolog." That doesn't happen at all.)
More than one can handle at Robert Kowalski's Homepage