HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

"Production Prolog" by Michael Hendricks

Strange Loop Conference6 HN recommenders · recommended in 6 months, 2015-2023
YouTube
58K views · 12 years ago · talk · evergreen

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.

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.

Functional programmingProgramming language design#prolog#logicprogramming#strangeloop#swi-prolog#webdevelopment

10 comments from Hacker News

@samuell2023 · in “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: ▶ this video

RecommendsView on HN
@simplify2020 · in “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, Rust[a] JavaScript[b], and Ruby[c]. [0] link [1] link [2] ▶ this video [3] link [a] link [b] link [c] link

RecommendsView on HN
@simplify2020 · in “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) ▶ this video

CitesView on HN
@samuell2019 · in “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 ▶ this video

Strongly recommendsView on HN
@hjek2018 · in “Racklog: Prolog Style Logic Programming [pdf]”

> Hmm I'm fine with prolog, I love it, but I'm not sure how it can be used in practice. Well, that rings similar to what is said about Lisp sometimes, and I think it can easily be refuted by pointing to instances where it is being used in practice[0]. There are some problems that are fairly easy to solve in Prolog, but would be very difficult to express in SQL[1]. And recursive relations, which are at the core of Prolog, only made their way into SQLite 4 years ago[2]. My comment was specifically about those Prolog/Datalog implementations 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]: ▶ this video [1]: link [2]: link

CitesView on HN
@worldsayshi2018 · in “Learn Prolog Now”

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

CitesView on HN
@StreamBright2017 · in “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 ▶ this video

RecommendsView on HN
@abathologist2015 · in “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: ▶ 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 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

Strongly recommendsView on HN
@profquail2015 · in “Learn Prolog Now”

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: ▶ this video

RecommendsView on HN
@MonkeyIsNull2015 · in “Prolog Programming Language (1997)”

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

RecommendsView on HN
A Tour of Prolog56:03

A Tour of Prolog

The Power of Prolog
33K views • 4 years ago
"Shen: A Sufficiently Advanced Lisp" by Aditya Siram40:20

"Shen: A Sufficiently Advanced Lisp" by Aditya Siram

Strange Loop Conference
26K views • 12 years ago
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference
468K views • 4 years ago
"Datafun: a functional query language" by Michael Arntzenius42:31

"Datafun: a functional query language" by Michael Arntzenius

Strange Loop Conference
9K views • 9 years ago
"Type-Driven Program Synthesis" by Nadia Polikarpova39:40

"Type-Driven Program Synthesis" by Nadia Polikarpova

Strange Loop Conference
15K views • 8 years ago
miniKanren - Dan Friedman and William Byrd46:17

miniKanren - Dan Friedman and William Byrd

ClojureTV
10K views • 13 years ago
"Propositions as Types" by Philip Wadler42:43

"Propositions as Types" by Philip Wadler

Strange Loop Conference
143K views • 11 years ago
Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '1759:03

Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17

Dyalog User Meetings
7K views • 9 years ago
"How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010)1:09:38

"How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010)

Strange Loop Conference
9K views • 5 years ago
"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)43:58

"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)

Strange Loop Conference
141K views • 3 years ago
"Programming Should Eat Itself" by Nada Amin47:41

"Programming Should Eat Itself" by Nada Amin

Strange Loop Conference
43K views • 12 years ago
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 years ago
Four Languages from Forty Years Ago - Scott Wlaschin1:01:45

Four Languages from Forty Years Ago - Scott Wlaschin

NDC Conferences
33K views • 8 years ago
"Clojure in Unity 3D: Functional Video Game Development" by Ramsey Nasser and Tims Gardner46:22

"Clojure in Unity 3D: Functional Video Game Development" by Ramsey Nasser and Tims Gardner

Strange Loop Conference
24K views • 12 years ago
"Unison: a new distributed programming language" by Paul Chiusano41:06

"Unison: a new distributed programming language" by Paul Chiusano

Strange Loop Conference
45K views • 7 years ago
"I See What You Mean" by Peter Alvaro52:29

"I See What You Mean" by Peter Alvaro

Strange Loop Conference
59K views • 11 years ago
Lecture 1B | MIT 6.001 Structure and Interpretation, 198658:22

Lecture 1B | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
116K views • 17 years ago
Beyond functional programming: a taste of Verse. Simon Peyton Jones & Tim Sweeney | Lambda Days 20231:12:14

Beyond functional programming: a taste of Verse. Simon Peyton Jones & Tim Sweeney | Lambda Days 2023

Code Sync
30K views • 3 years ago
On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]59:04

On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]

PapersWeLove
27K views • 7 years ago
"Simple Made Easy" - Rich Hickey (2011)1:01:39

"Simple Made Easy" - Rich Hickey (2011)

Strange Loop Conference
219K views • 5 years ago