Community Wiki

I don't care about the reputation points, I just want good answers. Feel free to remark this question as community wiki.

Context

I'm been working through The Reasoned Schemer, and have found the following observations:

  • Logic programming is very interesting.
  • Logic programming is sometimes counter-intuitive
  • Logic programming is often "inefficient" (or at least the code I write).

    It seems like in going from

  • Assembly -> C++, I "give up" control of writing my own machine code
  • C++ -> Clojure, I give up control of memory management
  • Clojure -> core.logic/prolog/minikanren, I lose partial control of how computations are done

Question:

Besides (1) solving logic puzzles and (2) type inference, what are the domains of problems that logic programming dominates?

Thanks!

Edit
Report