Skip to content
0:00 / 0:00

#prolog#swi-prolog#logicprogramming

"Production Prolog" by Michael Hendricks

Strange Loop Conference

88K subscribers • 114 videos on Hallway • Conference channel

YouTube
  • Recommended by 7 people: 6 on Hacker News and 1 curated list.
  • A classic. People kept recommending it from 2015 to 2023.
  • Presented by Michael Hendricks, co-founder of PriceCharting

Intermediate. Assumes working knowledge.

57K views12 years ago7 recommendations

Programming languagesSoftware designLanguage design and type systemsDebugging

Michael Hendricks shares practical experiences, advantages, and pain points of using Prolog in a production environment for eighteen months.

Prolog isn't just for solving cute logic puzzles. It's a powerful, productive, modern language. We've been using Prolog in production for the last 18 months. These are the cool tricks and pain points we've encountered. Michael Hendricks @mndrix Michael Hendricks is the co-founder and lead developer at PriceCharting. He writes open source software and was the first political candidate in the United States to accept Bitcoin campaign contributions.

Why it's here

7 people recommend this

What people say. Recommended as an excellent real-world case study of using Prolog for production applications and its unique debugging capabilities.

Moments people linked to

abathologiston Hacker News • Recommends

On “Learn Prolog Now”

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: link to this 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 Logtalk0. 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 m…

samuellon Hacker News • Recommends

On “Swish: SWI Prolog Notebook”

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 link to this video

programming-talkscurated list on GitHubRecommends

Under “Prolog”

Production Prolog 00:39:57 by **Michael Hendricks** (2014)

MonkeyIsNullon Hacker News • Recommends

On “Prolog Programming Language (1997)”

Not only is it worthwhile to learn, it's worthwhile to use for real world problems: link to this video From his blog: link

profquailon Hacker News • Recommends

On “Learn Prolog Now”

…sn'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: link to this video…

StreamBrighton Hacker News • Recommends

On “The Power of Prolog”

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 link to this video

simplifyon Hacker News • Recommends

On “Ask HN: How to rediscover the joy of programming?”

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, Rusta JavaScriptb, and Rubyc. 0 link 1 link 2 link to this video 3 link a link b link c link

samuellon Hacker News • Recommends

On “Tar.pl – A tar creator and extractor in approx. 100 lines of Prolog”

Check out "Production Prolog" by Michael Hendricks on YouTube, which demonstrates the same thing, at a talk at StrangeLoop: link to this video

worldsayshion Hacker News • Mentions

On “Learn Prolog Now”

Yes. I'd love to know more about real world use cases. Edit: Found some relevant threads and links: link link to this video

hjekon Hacker News • Mentions

On “Racklog: Prolog Style Logic Programming [pdf]”

…lementations in Racket . Other Prolog implementations might be dealing sensibly with incremental updates (but I don't know). > Having seen companies where SQL was used very extensively for analytics, data storage etc I can't see how prolog wouldn't help. You can't see how Prolog wouldn't help, as in Prolog can only be an improvement over SQL? 0: link to this video 1: link 2: link…

simplifyon Hacker News • Mentions

On “The FAQ of comp.lang.prolog is maintained as a Prolog source file”

Prolog also has some really impressive debugging tools. It allows you to pause execution, change the code, and then resume execution from an earlier point in time . Michael Hendrick's "Production Prolog" talk gives a demo of this (at 12:17) link to this video

u/oilshellin r/ProgrammingLanguages • Mentions

On “(sixth RacketCon): Alexis King -- Languages in an Afternoon”

I like the demos, but I would have also liked to see discussion of the downsides of Racket. Every technology has downsides, and when all I hear is pure advocacy, my mind turns off a bit. I remember this talk "Production Prolog" because it was great at giving me the pros and cons of Prolog, backed up by some real experience. link to this video As far as I remember the Shill shell (a research project for secure shell scripting) was implemented in Racket, but they moved off it, I think because of some limitations of the runtime. I would like hear details about things like that. I think Racket is probably good for prototyping languages, but I don't know of any language written in Racket that's used "…

u/living_the_Pi_lifein r/ProgrammingLanguages • Mentions

On “Is there any language the does this? if not, why?”

Prolog has something like this called backtracking. You can commit to a value for a variable, see if the computation succeeds, and if not you roll back to the choice point. [Here's a video about prolog that at this timestamp discusses prolog's backtracing in terms of falling off the edge of a game map.]
2View on Reddit

u/Pzzlrrin r/ProgrammingLanguages • Mentions

On “I keep coming back to the idea of "first-class databases"”

Well lisp does have more cool stuff, I'll give you that. We don't have jack SQUAT.
1View on Reddit