There are a lot of programming languages out there. Some are well known, others are not. Go through this journey of the Prolog programming language and its derivates with their own use cases. Instead of imperative programming, Prolog needs declarative programming. You describe the problem and it finds a solution for it instead of describing the actual solution to the problem. Each of these programming languages are not what you’re used to, they require a different way of thinking.