6 ms·
Amzi Prolog becomes open source
- B1FF_PSUVM 10y agoMIT license [edit: for v10]: https://github.com/AmziLS/apls/blob/master/license.txt https://github.com/AmziLS/apls/blob/master/license.txt [edit: for v9] Not too sure how that fits with the restrictions in the download page, http://www.amzi.com/AmziPrologLogicServer/store.php http://www.amzi.com/AmziPrologLogicServer/store.php But I do get a small itch to try the http://www.amzi.com/AdventureInProlog/advtop.php http://www.amzi.com/AdventureInProlog/advtop.php """ Adventure in Prolog ™ — Prolog Tutorial A full tutorial for learning Prolog, using an interactive fiction game for it's basic example. In the course of the tutorial you will also build an expert system and a business application. """
- mindcrime 10y agoNot too sure how that fits with the restrictions in the download page Looks like a standard case of "the source is OSS and you can use it for free if you build from source, but if you want pre-built binaries, you have to buy them from us". That's basically what Red Hat does with RHEL... you can get the source and build yourself, or you can buy RHEL binaries from them (for the sake of argument, for the moment lets forget about support and indemnification and all the 'other' stuff buying a subscription gets you). Of course, one difference with RHEL is that there's a vibrant community of people who take the RHEL source and rebuild it and release things like CentOS. Presumably you could do the same kind of thing with the Amzi source, so long as you respect their trademarks and what-not.
- nickmain 10y agoI think the downloads are v9 which is still a commercial product. The very stable 9.x release of the software will remain as a supported commercial version.
- mindcrime 10y agoI hate to pick nits too much, but I kinda dislike when people use this kind of phrasing. "Open source" and "commercial" are not antonyms. Something can be both open source and commercial at the same time. RHEL is a good example. I mean, I get the point they're trying to make (I think) but I wish people would be a little more precise when talking about this topic.
- nickpsecurity 10y agoI agree. I posted an essay on Schneier's blog countering the false dilemma between open source and proprietary. I'm modifying next version to say "shared source" as "open source" has specific meanings. Yet, many needs can be met with shared-source, proprietary software that are thought to be OSS-only. https://www.schneier.com/blog/archives/2014/05/friday_squid_bl_424.html#c6051639 https://www.schneier.com/blog/archives/2014/05/friday_squid_...
- cyphar 10y agoProprietary and free software are a dichotomy. It's commercial and free software that's a false dichotomy. It doesn't matter if you can "see the source" if you don't have the four freedoms when using the software.
- nickpsecurity 10y agoYou can have all of the key freedoms with the restriction that they're paid for. This continues development, maintenance, and support. I'm not speculating as there's software with source available developed through commercial licensing. So, "free as in Stallman" software might be a dichotomy with proprietary but not "free as in free enough for many people." That exists and can flourish further with right mix of organizations, charters, licenses and so on. Just little work in it.
- cyphar 10y ago> You can have all of the key freedoms with the restriction that they're paid for. None of the four essential freedoms mention price. I work for a free software company which sells that software. I don't know what you're referring to. I clearly said that "free and commercial software are a FALSE dichotomy" -- meaning that you can have commercial free software. > So, "free as in Stallman" software might be a dichotomy with proprietary but not "free as in free enough for many people." Again "free as in Stallman" doesn't have anything to do with whether you pay for the software (in fact, he used to sell copies of GNU Emacs for $100). Proprietary software is software that takes away your freedom to use, modify and distribute the software. You can pay for free software and you can pay for proprietary software. But you can't get proprietary software that respects your freedom. That is a dichotomy. Free doesn't refer to price it refers to freedom. Please stop spreading misinformation.
- B1FF_PSUVM 10y ago> the downloads are v9 Good catch, thanks. I did read that bit, and promptly overlooked it.
- valm- 10y agoDoes anyone have knowledge of how this compares to swi-prolog? http://www.swi-prolog.org/ http://www.swi-prolog.org/
- nickpsecurity 10y agoSo, PROLOG people, how excited should anyone be about this? This vs SWI, Visual Prolog, Prolog in a LISP like Allegro, or alternatives like Mercury. Is this significant in general or just for their community of users?
- kev009 10y agoI worked at a place a handful of years ago that used SICStus (https://sicstus.sics.se/ https://sicstus.sics.se/) because it was quite a bit faster than the other implementations. I'd like to revisit prolog, I think it is an underused language in industry.
- nickpsecurity 10y agoSo, that's two votes for SICStus. What did you use Prolog for with what advantages?
- danieldk 10y agoI work in academia, where SICStus is usually the most popular besides SWI Prolog. If SICStus went open source, that would be big news for me/us. This not so much. If SICStus went open source or free for academic use, I would probably use that in my research/courses over SWI Prolog. Mostly because of familiarity, performance, and compatibility reasons.
- nickpsecurity 10y agoSo, that's two votes for SICStus. What do you use Prolog for with what advantages?
- danieldk 10y agoI am currently not actively using Prolog. But during my PhD for natural language generation of Dutch, in the Alpino system: http://www.let.rug.nl/vannoord/alp/Alpino/ http://www.let.rug.nl/vannoord/alp/Alpino/ Prolog has some nice advantages for such knowledge-based language processing: - With relatively little work, terms can be used to represent linguistic feature structures. You can build a small type system using meta programming and define operators on feature structures. - Unification can be used build larger structures, check syntactic constraints, etc. - Backtracking makes handling ambiguity in parsers/generators much easier There are two quite elaborate chapters in my PhD thesis about the system mentioned above and the generator: http://danieldk.eu/Research/Publications/phd-thesis.pdf http://danieldk.eu/Research/Publications/phd-thesis.pdf Though for the time being, I am working on dependency parsing using deep neural nets (like everyone else ;)).
- brudgers 10y agoProlog + Logic Server source repository: https://github.com/AmziLS/apls https://github.com/AmziLS/apls Binaries: https://github.com/AmziLS/distribution https://github.com/AmziLS/distribution Earlier: https://news.ycombinator.com/item?id=11509451 https://news.ycombinator.com/item?id=11509451
- richard_todd 10y agoA superficial inspection of the engine files seems to say most of them have not changed since 2006-2009 timeframe. Did they run out of ideas, or enthusiasm, or money, I wonder?
- ausjke 10y agoProlog was the AI language two decades ago, that might be too early then, but does it have a future these days? just curious.
- ausjke 10y agoThis is a sincere question, I guess you read it and feel negative about it and down voted me? My classmate used it for his master-degree paper, and I just want to know its status when AI is starting to really catch up these days.
- pflanze 10y agoI'm not an AI specialist, but to my limited understanding: AI today is mostly machine learning, which means letting an algorithm build classifications from data, and deducting (more like just matching) things from the data that was gained from the learning (basically statistically). Prolog is about writing rules/matches/classifications manually, and then deducting logically from these (not statistically, but precisely). Prolog and other logic languages aren't playing in the same area, and their approach will remain relevant in the future in the areas where they already fit (e.g. expert systems with rules written by humans, writing machine checked mathematical proofs). Now I should probably recommend you to play a bit with both approaches and do the same myself.
- ausjke 10y agoVery helpful. Prolog is more of an expert system(my classmate used that for smart navigation for big city traffic when GPS was not available then, not sure how that can be done though). AI is more of neural network nowadays that is learning from some sample data set and then make decisions out of that.
- a-saleh 10y agoI would say that AI eventually went entirely different direction, instead of trying to specify some set of symbolic rules encoding knowledge, we currently throw lots of data at layered neural networks. So, if prolog has future, it probably is outside of AI research. I would say, that verifying is one of the places where logic programming never went away. I.e if you ever wanted to write type checker of protocol verification, you might write an embedded prolog first.
- demo 10y agoYes.
- amorphid 10y agoSlightly off topic... How does Prolog compare to Erlang, which was written in Prolog (at least the initial implementation was).
- Jtsummers 10y agoVery late response, and only cursory, but: Prolog and erlang are not the same, or even particularly similar. Some features (such as unification, which is what erlang uses, not assignment, with the = symbol) are present, and inspired by, prolog. But the underlying computational models aren't the same. Erlang is functional/concurrent/procedural (procedural meaning you write an explicit sequence of steps). Prolog is functional/declarative. You don't (normally) write explicit steps. Rather, you describe the solution you want to find, describe the configuration of a system (essentially propositions and axioms), and let prolog search for your solution. You can do a lot more than that with the operators (declaring order of execution, terminating early, etc.), but the underlying computational model is this search. You would not use them for the same domain. You can because they're both turing complete and thus capable of expressing the same computations. You won't because erlang excels in its concurrency model (and performance with many concurrent processes), and prolog excels in its declarative/search model. I believe there are some other languages (Oz/Mozart?) that might be suitable if you want a hybrid of erlang's concurrency and prolog's declarative model.