[1] https://en.wikipedia.org/wiki/Warren_Abstract_Machine
[2] https://www.cse.unt.edu/~tarau/research/2017/eng.pdf
[3] https://www.t3x.org/bits/prolog6.html https://news.ycombinator.com/item?id=20591771
I don't know anything about it but there's "Prolog.c: a simple Prolog interpreter written in 200 LOC of C++ (2000) (cam.ac.uk)"
edit: to be clear, in the book you interpret a logic programming language with lisp-like syntax
I swear I'd bookmarked a resource that was more analogous to #2, but you may want to have a look at The Little Prover: https://mitpress.mit.edu/books/little-prover
Will Byrd has a lot of documentation out there. (Scheme focus of course.)
I think the easiest way for a programmer with a vanilla background to “get it” is here:
There's also Implementations of Prolog: https://archive.org/details/implementationso0000unse (limited preview)
Pages 87-92 contain the article "The world's shortest Prolog interpreter?" by M. Nilsson of Uppsala University. The article describes and provides source code for a simple Lisp implementation of Prolog.
Edit: Oops. After posting my comment, just saw DonaldFisk's comment here: https://news.ycombinator.com/item?id=26244021 So Norvig's PAIP may be the book where I saw it.
Edit 2: Also just saw gglitch's comment:
https://news.ycombinator.com/item?id=26242603
which confirms my first surmise about both the PG and Norvig books containing it.
https://www.amazon.com/Reasoned-Schemer-MIT-Press/dp/0262535...
Also worth exploring The Reasoned Schemer which teaches minikanren, which can be (and has been) implemented in many programming languages. It explores much of the same space as Prolog. I wrote most of a minikanren in Common Lisp while working through the book (someone else had already published a version to quicklisp which was better than what I made).