Logic programming in Snap!

From a different topic

Sounds interesting. Any specific ideas yet? Would it support optimization through integer linear programming?

hmm thats really cool cant wait to see them add it!

Well, if I do it, it'll just barely work, never mind optimization, because I'm totally ignorant, other than having read SICP 4.4. I'm sorta hoping that if I hold my breath long enough @toontalk, who actually speaks Prolog, will do it. :~)

I think someone should implement the worlds tiniest Prolog interpreter in Snap!

Here it is
Google Photos

and here's an example of using it
Google Photos

Nilsson, Martin. "The world's shortest Prolog interpreter?." (1984): 87-92. Implementations of Prolog, edited by J.A. Campbell

Click on the images to see the entire thing.

Oh, this is nice, I want to play with it! Thanks, Ken, for sharing this.

Seriously, is the (Lisp?) code on this single page a fully operational core Prolog interpreter?
Do all of the functions the interpreter utilizes have Snap! equivalents?
Do those five basic functions suffice to gradually build a full Prolog interpreter upon?
(if 3x yes: wow!)

Yes it is MacLisp and everything should be easily translated to Snap! It is a real Prolog (no cut or assert). In Snap! one can replace the var predicate with something that checks if it starts with a question mark.

Here's the first page which I should have included since it explains how the selectors and constructors have simple Lisp definitions.