# Best resource to learn prolog

**URL:** <https://swi-prolog.discourse.group/t/best-resource-to-learn-prolog/6579>\
**Category:** General\
**Tags:** discussion, how-to\
**Created:** [May 27, 2023, 10:34am UTC](https://swi-prolog.discourse.group/t/best-resource-to-learn-prolog/6579 "2023-05-27T10:34:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ribosomerocker](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/ribosomerocker/32/5480_2.png) [@ribosomerocker](https://swi-prolog.discourse.group/u/ribosomerocker)\
**Post date:** [May 27, 2023, 10:34am UTC](https://swi-prolog.discourse.group/t/best-resource-to-learn-prolog/6579/1 "2023-05-27T10:34:01Z")

</div>

Hey. I’ve been trying to get deeper into prolog and general logic programming, but I find it quite hard to learn everything. I know of [The Power of Prolog](https://www.metalevel.at/prolog) but the verry first program they show [Facets of Prolog](https://www.metalevel.at/prolog/facets) doesn’t work with SWI-Prolog. It sounds like it uses outdated or wrong operators? SWI-Prolog doesn’t support #= or #\>, so I’m not quite sure if it’s dated or not.

I’ve also tried the same piece of code on scryer prolog and it still errors on the `#>` operator.

---

<div class="post-metadata">

**Author:** ![oskardrums](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/oskardrums/32/3594_2.png) [@oskardrums](https://swi-prolog.discourse.group/u/oskardrums)\
**Post date:** [May 27, 2023, 12:57pm UTC](https://swi-prolog.discourse.group/t/best-resource-to-learn-prolog/6579/2 "2023-05-27T12:57:04Z")

</div>

Hi,

The `#`-prefixed operators come from a library that you need to load, as noted in the “Facets” page you’ve linked to.

In SWI-Prolog, you get them from `library(clpfd)`.

HTH

---

<div class="post-metadata">

**Author:** ![ribosomerocker](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/ribosomerocker/32/5480_2.png) [@ribosomerocker](https://swi-prolog.discourse.group/u/ribosomerocker)\
**Post date:** [May 27, 2023, 2:54pm UTC](https://swi-prolog.discourse.group/t/best-resource-to-learn-prolog/6579/3 "2023-05-27T14:54:01Z")

</div>

Thank you.

---

<div class="post-metadata">

**Author:** ![anon419083](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@anon419083](https://swi-prolog.discourse.group/u/anon419083)\
**Post date:** [June 8, 2023, 12:01pm UTC](https://swi-prolog.discourse.group/t/best-resource-to-learn-prolog/6579/4 "2023-06-08T12:01:22Z")

</div>

I didn’t know that one (The power of Prolog), it seems interesting. Another resource you should take a look at is “Learn Prolog Now!”. It focuses mainly on list processing, definite clause grammars and language processing. A more recent one I found is “Logic programming with Prolog” by Max Bramer. Maybe you can find the pdf version somewhere, if you search the internet or emule.

[https://cs.union.edu/~striegnk/learn-prolog-now/lpnpage.php?pageid=online](https://cs.union.edu/~striegnk/learn-prolog-now/lpnpage.php?pageid=online)
