
Hi. I still have a lot to learn in Haskell (who doesn't?) but I was thinking about learning Prolog on the side. I was wondering what you thought about the language. I was interested in it primarily because I understood it was a purely declarative language and that everything is defined in the programs as relations. However, at the Wikipedia page it states that Prolog is not actually purely declarative, referencing an article which points out that it is necessary to think about Prolog programs procedurally because of the way that Prolog resolves queries. Is this not as big a deal as it sounds like? Or is there some other similar language I should learn instead? (One of the "successors" of Prolog?) I'm fairly open minded, so long as all the tools are FOSS. Though of course, a language with better community support, documentation, etc. is preferable. -- frigidcode.com indicium.us

On Sat, Oct 27, 2012 at 11:27 PM, Christopher Howard
Hi. I still have a lot to learn in Haskell (who doesn't?) but I was thinking about learning Prolog on the side. I was wondering what you thought about the language.
Prolog can be fun. I wouldn't let its impurity deter you from experimenting with it. You might also be interested in: http://en.wikipedia.org/wiki/Mercury_(programming_language) http://en.wikipedia.org/wiki/Datalog -Karl

Also check out Curry, it's (almost) a superset of Haskell with free variables like in Prolog. Looks very elegant. Am 2012-10-28 18:12, schrieb Karl Voelker:
On Sat, Oct 27, 2012 at 11:27 PM, Christopher Howard
wrote: Hi. I still have a lot to learn in Haskell (who doesn't?) but I was thinking about learning Prolog on the side. I was wondering what you thought about the language.
Prolog can be fun. I wouldn't let its impurity deter you from experimenting with it. You might also be interested in:
http://en.wikipedia.org/wiki/Mercury_(programming_language) http://en.wikipedia.org/wiki/Datalog
-Karl
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners

There are multiple senses of the word "declarative". I'd say the terminology came from trying to figure out the difference between describing a problem (declarative) and telling the computer exactly how to solve it (imperative). You might want to take a look at how Haskell and Prolog approach the n-queens problem. The haskell solutions I've seen, with prolog as foil, now take a positively imperative hue! -- Kim-Ee On Sun, Oct 28, 2012 at 1:27 PM, Christopher Howard < christopher.howard@frigidcode.com> wrote:
Hi. I still have a lot to learn in Haskell (who doesn't?) but I was thinking about learning Prolog on the side. I was wondering what you thought about the language. I was interested in it primarily because I understood it was a purely declarative language and that everything is defined in the programs as relations. However, at the Wikipedia page it states that Prolog is not actually purely declarative, referencing an article which points out that it is necessary to think about Prolog programs procedurally because of the way that Prolog resolves queries. Is this not as big a deal as it sounds like? Or is there some other similar language I should learn instead? (One of the "successors" of Prolog?)
I'm fairly open minded, so long as all the tools are FOSS. Though of course, a language with better community support, documentation, etc. is preferable.
-- frigidcode.com indicium.us
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
participants (4)
-
alexraasch
-
Christopher Howard
-
Karl Voelker
-
Kim-Ee Yeoh