I would be really interesting in getting a list of common problem or category of problem that people usually implement in "common" languages but that would benefit highly from being written using Prolog.
I did learn prolog during my engineer degree but we never went further than the "school" exercises of finding if Mary is a member of the family of Bob or not.
I then later played, while still being a student (i.e still playing with things for intellectual fun rather than actual real life/business problem solving) a bit with Flora2 http://flora.sourceforge.net/ that seams to me like a hackier but stronger variant of Prolog (the object-like syntax and the possibility to pass rule has parameter to other rule).
At the opposite I learned also about functional programming, and until last year I was also wondering the same until it became clear to me with javascript (for the 'no class', function as parameter) and Rust (for the immutable by default part). Ohhhhh suddenly all these for loop to create an other list of the same size, all these for loop to arrive to one result, all these for loop to get a subset of the list, all these for loop to find one specific value, ALL gones and replaced by primitives.
All of that to say I really hope I'm missing something with Prolog that can elevate my thinking.
I did learn prolog during my engineer degree but we never went further than the "school" exercises of finding if Mary is a member of the family of Bob or not.
I then later played, while still being a student (i.e still playing with things for intellectual fun rather than actual real life/business problem solving) a bit with Flora2 http://flora.sourceforge.net/ that seams to me like a hackier but stronger variant of Prolog (the object-like syntax and the possibility to pass rule has parameter to other rule).
At the opposite I learned also about functional programming, and until last year I was also wondering the same until it became clear to me with javascript (for the 'no class', function as parameter) and Rust (for the immutable by default part). Ohhhhh suddenly all these for loop to create an other list of the same size, all these for loop to arrive to one result, all these for loop to get a subset of the list, all these for loop to find one specific value, ALL gones and replaced by primitives.
All of that to say I really hope I'm missing something with Prolog that can elevate my thinking.