Mercury is another programming language that combines Prolog plus functional programming that probably doesn't get as much attention as it deserves https://mercurylang.org/
Do a ./configure --help, and try to figure out what the best "grade"(s) to build is/are.
I've been meaning to try Mercury for years, but after this, there's no chance I'm going to try writing anything in it. What other crufty unusable insanity have they built in there?
This blog post describes some of them: https://adventuresinmercury.blogspot.co.nz/2011/11/making-gr...