

Logic Programming slides from #HNLondon - Peteris
https://speakerdeck.com/peteris/logic-programming

======
wodow
This was a very good talk - a whistle-stop tour of Prolog.

It would have been interesting to hear more about your thoughts on embedded
logic systems for other, general languages (having looked at some of the
python libs myself recently) - though I realise there likely wasn't time for
this.

~~~
Peteris
Thanks, yeah that was a bit of shame; I actually discovered logic programming
through Clojure's core.logic. Definitely logic and probabilistic programming
are some of the most useful DSL's that can be built. The power is there, it's
perhaps the case that Prolog compilers have a much longer history of
optimizations, so it might take a while to catch up even though core.logic has
some convincing benchmarks too.

Another area is functional logic programming. I've played around with Curry,
and it's great and it feels even better than just having a logic DSL. The way
you can represent strongly typed bi-directional declarative regular expression
parsers is simply magic.

It's an exciting decade for logic :).

~~~
agumonkey
Nice slides, thanks a lot. An often mentioned reference is The reasoned
schemer, or TAoP. Do you have any other recommendations to get a grasp of
logic programming ?

BTW, it reminds me of this talk :

    
    
      A Taste of Prolog by Aja Hammerly @ Cascadia Ruby 2012 
      http://www.youtube.com/watch?v=hEOVcLAPRG8
    
    

Oh, and David Nolen introduced a bit of core.logic here :

    
    
      http://www.infoq.com/presentations/ClojureScript-Optimizations
    

ps: I don't want to distract people on other talks, just want to aggregate
introductions in a single place.

------
ses
I've spent a lot of time researching Logic Programming and I'm always amazed
how little known some of the languages/tools/techniques derived from it are.
For some software problems Prolog, Constraint Logic Programming, SAT solvers
are the natural choice for easy representation and solution and yet usually
people end up rolling their own DSLs when there are so many out there.

SWI-Prolog has some very useful web features, there are even libraries to
expose Prolog through web services. Java has tuProlog, another really clever
piece of software which is actively being developed.

I look at some of the claimed benefits of functional languages and so many
apply to Logic Programming, its just a shame that it's often ignored because
it is so different.

------
gatlin
I'm curious about what HN thinks of answer set programming - the de facto
language is a Prolog variant but in most implementations solutions are found
by reducing programs to SAT instances. Upshot is you can reason about belief
in an open world.

------
mcginleyr1
I worked for a company www.quintiq.com that implemented a declarative
programming language. They have a propagator that does much of what prolog
does. However the syntax is more imperative. Very interesting.

------
prezjordan
This is all very interesting, but can anyone recommend some "puzzles" or
"challenges" I can solve to better learn Prolog? Having a tough time finding
things to program.

~~~
rck
You might try the 99 Prolog problems:

<https://sites.google.com/site/prologsite/prolog-problems>

The Scala version was fun and useful.

