
"Production Prolog" by Michael Hendricks
About this video
Michael Hendricks of PriceCharting shares tricks and pain points from running Prolog in production for 18 months at Strange Loop. It argues Prolog is a productive modern language beyond logic puzzles, and includes a demo of changing code mid-execution.
Why it appears in the archive
It is the go-to answer to whether Prolog is used for real-world work, praised as a survey of its uses, advantages and drawbacks.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
You might be interested in these SO answers regarding "Real world Prolog Usage": [LINK] The answers are replete with claims about good use-cases for Prolog. Michael Hendricks' talk at last year's Strange Loop on "Production Prolog" gives an excellent high-level survey of the uses, advantages, and drawbacks of Prolog: [VIDEO] BTW, I have played a tiny bit with Flora2 myself. It seemed really neat. If you're interested in the intersection of OO and Prolog, you may also want to look at Logtalk[0]. FWIW, if I understand your meaning correctly, it is very easy to "pass rules as parameters to other rules" in vanilla Prolog. It facilitates all sorts of higher-order approaches and is very good for meta-programming. [0]: [LINK]
Read original comment ↗For an awesome video showcasing a bit of the real power of Prolog, you need to check (if you haven't already) this Strangeloop talk: "Production Prolog" by Michael Hendricks [VIDEO]
Read original comment ↗Not only is it worthwhile to learn, it's worthwhile to use for real world problems: [VIDEO] From his blog: [LINK]
Read original comment ↗I found a page from 1994(!) asking the same question: [LINK] Given that Prolog isn't super-widely used (compared to say, C++), there are going to be a limited number of developers with Prolog expertise. That means companies who use it in their tech stack are generally going to have to hire developers who fit the other qualifications for the role then put them through some internal Prolog training. The listings for such positions probably won't have Prolog as a "required" skill but a "desired" skill. One other point -- just because there aren't any/many jobs where Prolog is required doesn't mean there aren't many cases where Prolog could be useful. Prolog hasn't been widely taught for a couple of decades, so a significant proportion of developers today won't recognize a problem that Prolog would be a good solution for as a problem that Prolog would be a good solution for. There's a Strange Loop 2014 talk on YouTube, "Production Prolog", that might give ideas about jobs that use (or could use) Prolog: [VIDEO]
Read original comment ↗Same here, I don't think this is a particularly great way of starting with Prolog. I have found these videos helpful for understanding Prolog: [LINK] [VIDEO]
Read original comment ↗I recommend starting with [0] to get a feel for what's possible. [1] is great when you have time to dive deeper. [2] is good motivation, and [3] will show you how to build a practical roles & permissions system. Keep in mind that you don't have to build your app in 100% prolog to use prolog. There are likely implementations in your favorite language. For example, Rust[a] JavaScript[b], and Ruby[c]. [0] [LINK] [1] [LINK] [2] [VIDEO] [3] [LINK] [a] [LINK] [b] [LINK] [c] [LINK]
Read original comment ↗Check out "Production Prolog" by Michael Hendricks on YouTube, which demonstrates the same thing, at a talk at StrangeLoop: [VIDEO]
Read original comment ↗Yes. I'd love to know more about real world use cases. Edit: Found some relevant threads and links: [LINK] [VIDEO]
Read original comment ↗