4 ms·
Not an expert, but certainly an amateur "Prolog person." Frankly, SWI gets all the action. There are times where it isn't the most efficient Prolog, but the to
by fusiongyro 11y ago
Not an expert, but certainly an amateur "Prolog person."
Frankly, SWI gets all the action. There are times where it isn't the most efficient Prolog, but the toolset you're going to get from AMZI is much more limited, and that in the end is going to be a bigger deal. Does AMZI have ODBC, CLP, CHR, and a web framework? Probably not. SWI has the biggest community, the largest built-in library, the most 3rd-party packages, and is the easiest to install. Everything else is basically tied for second place. Except Visual Prolog, which comes last. :)
It's kind of a shame, because my earliest exposure to Prolog was through AMZI; they had a nice Windows IDE you could try for free (30 minutes at a whack). I went through their "Nani Quest" tutorial and that gave me positive memories of Prolog that I revisited later.
Mercury is an interesting language, but not having a REPL is a huge problem for me. The language mixes in some good ideas from Haskell and Clean. The tutorial comes off as sort of condescending towards Prolog users and fans though. Having to furnish modes and effect types is a bit of a burden.
Allegro is a pretty compelling product, but when I want to do Prolog, I want to do Prolog. core.logic in Clojure seems like it would be more interesting to me, because Clojure is enough better than Common Lisp. I believe core.logic is based on miniKanren, which is also interesting.
The Prolog implementations I sometimes wish I knew more about are B-Prolog, YAP and XSB. But I don't really have the kinds of performance problems that would benefit from tabling or a more sophisticated compiler.
- YeGoblynQueenne 11y ago>> I went through their "Nani Quest" tutorial and that gave me positive memories of Prolog that I revisited later. Yeah, that's a great tutorial to the language, I learned a buttload from that when I was doing my degree. Not to look down on Learn Prolog Now! and others, but this is how to teach Prolog to university students.
- nickpsecurity 11y agoOk, that's two seconding that one. My references are overloaded as is but I'll add Nani Quest to give to anyone starting with Prolog. Note: Your alias is hilarious. Nice one.
- Avshalom 11y agoJust a note on Nani Quest/Adventure in Prolog: it doesn't work in SWI-pl. I gave it a shot about 6 months ago and got to chapter 7 before stuff stopped working right. It was an excellent tutorial up to that point though.
- nickpsecurity 11y agoPorting the rest might make for a nice CompSci project for someone in that niche.
- Avshalom 11y agoWell you can find versions on github (that's how I realized it was incompatible, instead of me being incompetent) but it's not terribly great pedagogy to have a text book explaining things piece meal and then having to sort of eyeball some one else's full source code and try to guess which bits are necessary changes and which are that persons idiosyncrasies.
- nickpsecurity 11y agoGood points. Maybe just clean slate one in a similar style.
- YeGoblynQueenne 11y agoWelcome to Prolog portability hell :) Note that Swi Prolog introduced some very big changes in version 7.0, that break interfaces left and right. It's to (Swi) Prolog what 3.4 is to Python. So if you were trying to follow Nani Quest with Swi 7.x and it gave you trouble, I'd try installing an earlier version. I was on LPA Prolog when I did Nani Quest and I don't remember having issues, but it's been a while so I'm not sure.
- YeGoblynQueenne 11y ago:)