(Less than) 12 Days of Prolog - A guide + brief review of the Prolog programming language

Donald Sebastian Leung on December 29, 2018

So, it all started when someone posted the following meme in a Facebook Computer Science meme group I was in about a week or two ago: As I lea... [Read Full]
markdown guide

There aren't many languages so different that simply learning how to do stuff in them provides enlightenment. Prolog is easily one of them. Haskell, for example, never made me reason about the programs in a new way. Prolog did.


Bug report: Your link #4 "SWI-Prolog official website" redirects to an odd private wedding page "page86.org" (once I bypass a certificate error). You have to prepend a "" to reach the intended website.


Thanks for your report - I hope it wasn't a malicious link! I didn't realize that the SWI-Prolog official website used http and not https, the bad link has been corrected in all 3 instances to swi-prolog.org


Thank you and sorry, I only saw your reply just now, and at the same time realized my correction tip - www. - had been eaten by the markdown parser without me noticing! Good you worked it out anyway. The site didn't seem malicious to me (otherwise I would have said so), just something completely different. Maybe a misconfigured Apache virtualhost or some such.


it is rumored that only about 2% of the world's population can solve this riddle correctly.

That is the common fallacy. Only 2% can solve this riddle in their mind, without pen and paper. Once we are allowed to make notes, this riddle becomes trivial.


My GitHub Repository at github.com/luciangreen contains the
following SWI-Prolog (my favourite Prolog variant) algorithms.

List Prolog Interpreter - runs algorithms written in my algorithm
language List Prolog, which will help with rapidly developing
algorithm-writing algorithms. I am also interested in running Prolog
on the web to run recursively (which it can't do by itself), a state
saving interpreter (for saving super-computing progress), and a
universe simulation prototype.

Database Formula Finder - finds simple formulas with and, or, etc., from data.

Grammar Interpreter - Can verify sentences with grammars.


Great information! Prolog is a logic programming language and widely used in AI. I highly recommend if anyone wants to learn prolog just check this link letsfindcourse.com/prolog you can find the best prolog tutorials available online here.


Nice read! In case anybody is using Windows and Visual Studio, I created a Prolog extension that adds syntax coloring and the "Go to definition" command, which is quite useful in Prolog πŸ‘‰ github.com/sebagomez/vsprolog
VSCode version coming soon


Defining grammars are the least useful thing nowdays. I think Prolog needs to go in the shelf.


Sounds as an elaborated, balanced, competent and convincing argument.

What skill would be the most useful today? Applying bloated javascript frameworks to build more of new worthless shitty web sites?


Yes, those that would actually pay your bills and feed your children's mouth. And this is reality not exaggeration.

I don’t want to live in this reality.

Also, being fluent in fundamentals, like the aforementioned grammars, makes people to hire lawyers to handle their bills.


Prolog is not just about defining grammars. It's a full logical system that lets implement "reasoning" tasks easily. Nothing prevents using it when one faces such challenges and connect it to the rest of the application written in a more appropriate language.

You're right, most probably Prolog will not feed your kids, but knowing many languages with different root concepts (functional, oo, declarative, logical, ...) makes you a better programmer and may help to feed your kids better.


Of all the variations of Logic programming, I think only Datalog has some real use cases.


Great information! Prolog is a logic programming and its most important role in artificial intelligence. I highly recommend if anyone wants to learn more about prolog just check this link hackr.io/tutorials/learn-prolog you can find the online tutorials list here.

code of conduct - report abuse