5 ms·
Introduction to Modern Prolog
- I_complete_me 5y agoThank you very, very much for this and all your efforts.
- Kinrany 5y agoI'm not the author, but I'm sure he'd appreciate an email :)
- mcswell 5y agoProlog was once one of my favorite languages, back in the days of hand-coded rules for AI (and more to my interest, NLP). But AI has gone through several major changes since then. What is Prolog being used for today?
- suchire 5y agoThis isn’t exactly Prolog, but Chalk [1] is a Prolog-inspired use case [1] https://rust-lang.github.io/chalk/book/ https://rust-lang.github.io/chalk/book/
- legerdemain 5y agoI wonder, is good old SWI-Prolog adequate to run the examples in this book, or must readers use a "modern" Prolog implemented in Rust?
- billfruit 5y agoYes, the article is surprisingly silent on SWI, which I thought was the most popular Prolog implementation.
- Avshalom 5y agoIt is. Swi has made some breaks from the iso standard but the only one you'd really need to watch out for is string handling and you can put :- set_prolog_flag(double_quotes,chars). At the top of your files and probably be completely fine.
- ghostwriter 5y agoCheck Mercury, it's a modern strictly typed logic/fp alternative to Prolog [1] [1] https://mercurylang.org https://mercurylang.org
- mark_l_watson 5y agoWhat a cool project. I am curious why three popular Prolog implementations are supported, but not SWI-PROLOG. I really like the interactive book idea. I hope I have time over the holidays to properly check it out. For about two years in the 1980’s I used Prolog for a few IR&D projects, things that I would normally have done in Common Lisp.
- Avshalom 5y agoSWI isn't not supported exactly. Starting particularly with version 7 SWI has introduced some non iso conforming extensions/changes. '[|]' instead of '.' for the list functor and a dedicated string type among other things and Jan (the main author of SWI) has been clear that he's willing to change other stuff. Triska has both some technical as well as aesthetic/philosophical issues with these changes but also from a practical stand point it means that while SWI is pretty much entirely compatible with the book today it might not be tomorrow. Ciao is another implementation that is mature and pretty compliant but also openly willing to break compliance. That all said it's a bit of a shame because Scryer has basically no documentation and GNU looked abandoned until pretty recently.
- deleted 5y ago[deleted]
- haspok 5y ago~20 years into my life as a backend dev, and I came to realize that Greenspun's tenth rule has a twin, which I have not named yet, and it goes like this: "Any sufficiently complicated backend program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Prolog."