Prolog is not dead, it just has a niche following. Similar to Lisp and Smalltalk, two other languages mentioned in the article. Prolog suffers even more because it requires programmers to think differently -- Lisp and Smalltalk programs can still be written in a procedural style. Prolog offers at lot of the same things that Lisp also does: symbolic processing, meta-programming, among others. One of the tricks of Lisp…
Who killed Prolog?
41–50 of 57 posts
Re: Who killed Prolog?
#42Earlier quoted context omitted.
> I think it would be best to have a Prolog-like language > as a library (like Lua or SQLite), to embed it for rules > & scripting. You may be interested to know that there are various prolog Perl modules on CPAN, particularly AI::Prolog and Language::Prolog::Yaswi .
Perl isn't really my thing* , but I'll take a look at how they're implemented. I was thinking a C library with a C API that will make it easy to use from Lua, Python, Ruby, etc. Yaswi is probably just a wrapper to SWI-Prolog. There are a few of those, and I'm tempted to write one for Lua. I think designing a Prolog-like language primarily for embedding, rather than wrapping a standalone Prolog, will have an interesti…
http://yieldprolog.sourceforge.net/
"Yield Prolog lets you embed Prolog programs directly in Python, C# [1] or Javascript [2] by using the yield keyword."
Re: Who killed Prolog?
#43Earlier quoted context omitted.
Perl isn't really my thing* , but I'll take a look at how they're implemented. I was thinking a C library with a C API that will make it easy to use from Lua, Python, Ruby, etc. Yaswi is probably just a wrapper to SWI-Prolog. There are a few of those, and I'm tempted to write one for Lua. I think designing a Prolog-like language primarily for embedding, rather than wrapping a standalone Prolog, will have an interesti…
I saw this one pass by a few weeks ago, it may interest you: http://yieldprolog.sourceforge.net/ "Yield Prolog lets you embed Prolog programs directly in Python, C# [1] or Javascript [2] by using the yield keyword."
Lua and SQLite are both great examples of libraries whose APIs make them straightforward to embed in other languages.
Re: Who killed Prolog?
#44Earlier quoted context omitted.
Ok, but there are plenty of things that aren't message passing in Erlang, whereas, say, in Smalltalk, pretty much everything goes through messages, no?
Sure, I'm just saying fogus is making a real point (even though "only" sounds like trolling).
Re: Who killed Prolog?
#45Earlier quoted context omitted.
Sure, I'm just saying fogus is making a real point (even though "only" sounds like trolling).
Yeah, I've heard or read Joe Armstrong talking about how Erlang process are like 'objects', but his brief cryptic comment needed something more. And I still disagree with it, because there's tons of interaction in Erlang that is not message passing.
Re: Who killed Prolog?
#46Earlier quoted context omitted.
Yeah, I've heard or read Joe Armstrong talking about how Erlang process are like 'objects', but his brief cryptic comment needed something more. And I still disagree with it, because there's tons of interaction in Erlang that is not message passing.
I'm not saying Erlang is 100% OOP. Not at all. Just the good parts. :)
Re: Who killed Prolog?
#47Earlier quoted context omitted.
I'm not saying Erlang is 100% OOP. Not at all. Just the good parts. :)
Have you looked at Reia at all?
I'll check it out again, though. If nothing else, it's an example of a real compiler written in Erlang, which is interesting in itself.
Re: Who killed Prolog?
#48I'm not sure I'm convinced by the thesis Prolog was killed by association with a Japanese project that was a failure. I thought Prolog died a natural death, for several reasons: Firstly, Prolog is it was great at the deductive, expert system type of AI, but in 90's, a new generation of AI based on statistics (firstly, fuzzy logic, and then proper statistical reasoning, particularly Bayesian approaches) appeared and s…
There are attempts to reconcile the two approaches, such as Markov Logic.
http://en.wikipedia.org/wiki/Markov_logic_network
I believe Statistical Relational Learning is the more general term for this idea.
http://en.wikipedia.org/wiki/Statistical_relational_learning
Re: Who killed Prolog?
#49Prolog is not dead, it just has a niche following. Similar to Lisp and Smalltalk, two other languages mentioned in the article. Prolog suffers even more because it requires programmers to think differently -- Lisp and Smalltalk programs can still be written in a procedural style. Prolog offers at lot of the same things that Lisp also does: symbolic processing, meta-programming, among others. One of the tricks of Lisp…
Or the "Reasoned Schemer". Unfortunately, most such implementations are slow compared to Prolog AMs.
Re: Who killed Prolog?
#50Earlier quoted context omitted.
Very much true. During my education I was massively disappointed in Prolog, because the programming process was something like this: 1) write it declaratively 2) figure out that your program will take days to complete 3) add ugly procedural hacks (cuts) to make it more efficient To an extent, you have this process in any language (write->measure->optimize) but typically not in a way that it forces you at gunpoint to…
An excellent point - Prolog fans (usually those who never actually programmed anything) would describe it as a declarative language. However, any "real" Prolog program that I ever saw was really using it as a slightly odd procedural language.