picat
Downloaded from http://picat-lang.org/
Trying some things from https://www.linuxjournal.com/content/introduction-tabled-logic-programming-picat
Praise for Picat
Per Amazon reviews of Constraint Solving and Planning with Picat
"Picat is a recently created language, a combination of logic programming and functional programming. Among many other features it includes 'tabling', namely a capability to stash specificaly-chosen calls and their results so that repeated calls do not need to be recomputed-- an enormously useful feature. The language also includes three efficient constraint-solver modules and a planning module, ideal for AI-related and problem-solving tasks. This short book (148 pages) includes many worked examples of different kinds of constraint problems and planning problems, and sets of exercises for the reader. Solutions to the exercises are not included but many can be found online. The book's explanations are clearly presented, and show the strengths of the language. If you are at all interested in the area and in Picat, this is an excellent additional resource."
"Picat is an new, innovative, and advanced programming language. Although it has roots in the logic programming of B-Prolog, it has a variety of features that make it more, powerful, expressive, and efficient. It is geared towards use in problem solving domains that require heavy lifting and as such the book and the language assume a fair amount of prior programming experience. Declarative programming involves defining objects and relationships, and then letting unification and other algorithms sort out the results. Picat excels at logic problem solving and the book is full of examples. for instance whereas you might write a program to solve a Suduko puzzle, Picat can easily write Sudoku puzzles."