
The Power of Prolog [video] - lelf
https://www.youtube.com/channel/UCFFeNyzCEQDS4KCecugmotg/videos
======
xvilka
If anyone is interested in learning Prolog I can recommend two very good
Prolog books: The Power of Prolog (from the author of the video)[1] and Simply
Logical: Intelligent Reasoning by Example[2]. I also recommend visiting the
Awesome Prolog list[3]. Worth checking also interesting extension of the
Prolog - Probabilistic Prolog, aka ProbLog[4]. And modern ISO-compatible
implementation in Rust language - Scryer Prolog[5].

[1] [https://www.metalevel.at/prolog](https://www.metalevel.at/prolog)

[2] [https://book.simply-logical.space/](https://book.simply-logical.space/)

[3] [https://github.com/klaussinani/awesome-
prolog](https://github.com/klaussinani/awesome-prolog)

[4] [https://github.com/ML-KULeuven/problog](https://github.com/ML-
KULeuven/problog)

[5] [https://github.com/mthom/scryer-prolog](https://github.com/mthom/scryer-
prolog)

~~~
AdieuToLogic
Thanks for sharing those resources. With both of the books having online
versions, I can easily share them with people interested in logic programming
in general and Prolog in specific.

------
gambler
I would be gladly writing a lot of stuff in a Prolog-like language if there
was a dialect that separated rule construction from traversal manipulation.
This is such an obvious thing. I should be able to construct a set of rules
and then say "but this time, ignore this branch" (without changing the tree
with cuts). Or something like "do depth-first for up to 1000 levels and give
me the incomplete set of answers".

In SQL you don't change the database simply because you want to run a
different query. You manipulate the query, the indices and the query hints.

~~~
falsissime
In fact, you can do this with Prolog already, however, you have restrict
yourself to the pure monotonic subset. Many parts of Prolog the do not fit can
be replaced by purer counterparts. See library(si), library(reif),
library(clpz) for such attempts.

------
dang
Some big threads, including one from a month ago:

[https://news.ycombinator.com/item?id=22804079](https://news.ycombinator.com/item?id=22804079)

2018:
[https://news.ycombinator.com/item?id=17121028](https://news.ycombinator.com/item?id=17121028)

2017:
[https://news.ycombinator.com/item?id=14045987](https://news.ycombinator.com/item?id=14045987)

Although one month is well within the year range for duplicates on HN, the
videos weren't posted before. Borderline call but we'll leave it up.

------
thewarrior
Does anyone have any stories of how they used Prolog in production to solve an
interesting business problem ?

~~~
j-pb
Lots of robotics startups are using prolog for planning.

~~~
fertom0
I'm very curious about the recent practical applications of prolog, do you
have a link to any of these startups' websites or an article commenting about
such applications?

~~~
j-pb
Off the top of my head, magazino.eu and knowrob.org

------
PopeDotNinja
I've seen a bit of Prolog in the wild, but never got deep into it.
Syntactically it reminds me of Erlang. Are they at all similar?

~~~
reddit_clone
Early Erlang was based on prolog.

~~~
wtetzner
More specifically, the first Erlang compiler was written in prolog, and it
inherited a lot of its syntax and some of its features.

