I took a course in college with the first half in Haskell and the second half in Prolog. Programming in Prolog felt like learning to program all over again.
I took a course called Principles of Programming Languages. Covered grammars, regular languages, state machines, and then had practical assignments in Haskell and Prolog. I had the exact same experience with Prolog. I loved it, but I haven't looked at it since college.
Prolog was responsible for me getting kicked out of uni! I just couldn't wrap my head round it, and I failed the exam resit.
In fairness I was a shocking student and deserved it.