4 ms·
A recent article from the Austrian Federal Computing Centre, using Prolog to analyze eligibility criteria for grants: https://www.brz.gv.at/en/BRZ-Tech-Blog/Te
by triska 4y ago
A recent article from the Austrian Federal Computing Centre, using Prolog to analyze eligibility criteria for grants:
https://www.brz.gv.at/en/BRZ-Tech-Blog/Tech-Blog-7-Symbolic-Analysis-of-Grants.html https://www.brz.gv.at/en/BRZ-Tech-Blog/Tech-Blog-7-Symbolic-...
In this way, several interesting questions can be answered, such as: Are there grants that have the same prerequisites? How many companies are not eligible for any grant? Are there grants where eligibility also implies other grants? etc.
Prolog is becoming more interesting now that several conforming and free implementations with comprehensive features arise, notably Scryer, Tau and Trealla Prolog as the most recent systems, and interesting bindings for other languages such as ichiban/prolog for Go. On the Datalog side, Google have recently published a Datalog system called Mangle, which supports the Datalog subset of Prolog as a proper subset.
- pmarin 4y ago> Prolog is becoming more interesting now that several conforming and free implementations with comprehensive features arise What's wrong with SWI-Prolog?
- triska 4y agoAs of version 7, SWI-Prolog is consciously no longer conforming to the Prolog ISO standard in critical aspects, so it is not usable in organizations where standards are of great importance for procurement, warranty and interoperability reasons, and where long-term maintenance and guarantees are required: https://www.complang.tuwien.ac.at/ulrich/iso-prolog/SWI7_and_ISO https://www.complang.tuwien.ac.at/ulrich/iso-prolog/SWI7_and...
- nurettin 4y agoRelevant docs https://www.swi-prolog.org/man/syntax.html https://www.swi-prolog.org/man/syntax.html
- YeGoblynQueenne 4y agoHm, I wouldn't say that conformance to ISO makes a Prolog more "interesting". More useful in certain kinds of applications like the ones you point out, sure. In my experience, there are two Prolog worlds, and that has been true right from the beginning of Prolog with Kowalski coming from the world of pure mathematical formalisms, and Colmerauer coming from the world of pragmatic, practical programmers. The power of Prolog (no pun intended :) comes from the tension between these two worlds. If Kowalski had his way, Prolog would probably be a perfect jewel encased in golden amber, completely unusable but a wonder to behold. If Colmerauer had his way, Prolog would be a quick and dirty programming language fit to replace javascript or C. But they worked together, hand-in-hand, and made something bigger and better and more wonderful than either could have imagined [1]. This duality is also a curse, of course, because its critics can attack it from two sides: it's not pure enough for the purists, not dirty enough for the programmers. Half of its critics complain that it's not 100% declarative, the other half complain that it is not "general purpose" (see elsewhere in this thread). Well, it's not 100% declarative because it's got side-effects, but then what use is a programming language without side-effects? One simply ends up with twisted abominations like monads [2]. And I still don't understand what "general puprose" means, if it doesn't describe Prolog. I think Jan Wielemaker [maintainer of SWI-Prolog] is firmly in the Colmerauer camp, striving to create a language that everybody can use, not just musty academics in their (our!) ivory towers. I have to say I don't always agree with his choices, but I, personally, am infinitely grateful for his oeuvre and I have often considered how little I could have done, for example in my PhD research, without his work. _________________ [1] To hear the French say it of course, it was Colmerauer and Philippe Roussel who created Prolog and Kowalski was probably only visiting Marseilles for unrelated reasons. See the Prolog article on French wikipedia: https://fr.wikipedia.org/wiki/Prolog https://fr.wikipedia.org/wiki/Prolog [2] On the other hand, I think we can both agree that the dynamic database is evil.
- dragonwriter 4y ago> Hm, I wouldn’t say that conformance to ISO makes a Prolog more “interesting”. More useful in certain kinds of applications like the ones you point out, sure. “Interesting” is inherently subjective, and relative specifically to the interests of some specific entity or group. When the Austrian Federal Computing Centre says something is “interesting”, it is shaped by the needs and constraints of the Austrian Federal Computing Centre. What is interesting to you may be different, because you probably have different interests than the Austrian Federal Computing Centre.
- yakubin 4y agoAs a newbie, I don't know how to enable arithmetic (e.g. #=). gprolog has it enabled by default, so it's easier to get started.
- Avshalom 4y agoYou need to import the constraint logic module. :- use_module(library(clpfd)). Goes at the top of the file (leave off the :- if you're in the repl). The arithmetic built in to prolog is traditionally of the form A is 1+2, B is A+3, ... etc.
- rabbits77 4y agoGNU Prolog is an excellent choice for everybody. I once considered switching back and forth to SWI if I ever needed some convenient module GNU lacks. The need never really arose!
- wslh 4y agoMy first inquiry is how this concept could be applied in general, Prolog is just a tool, what other tools exist? We can also think about other semantic queries such as RDF. Also Freebase offered this kind of queries[1] and now DBPedia. [1] https://en.wikipedia.org/wiki/Freebase_(database) https://en.wikipedia.org/wiki/Freebase_(database)