Недавно автор B-Prolog, профессор City University of New York Neng-Fa Zhou, придумал новый язык программирования - Picat (Pattern-matching, Imperative, Constraints, Actors, Tabling).
Язык во многом похож на B-Prolog (и реализация Picat внутри использует B-Brolog), но с элементами современных функциональных и императивных языков: функции в добавок к предикатам, циклы (которые транслируются в рекурсивные вызовы), опциональное деструктивное присваивание (компилируется при помощи дополнительных переменных), детерминизм по умолчанию, сопоставление с образцом вместо унификации при вызове предикатов...
Язык достаточно интересный. Официальный сайт -
http://picat-lang.org/ - содержит большое количество примеров и документации. Я написал несколько блог-постов про Picat (на английском) -
http://sdymchenko.com/tags/picat/ (на один из них, про декларативное решение задач планирования на Picat, разместили ссылку в меню официального сайте).
С официального сайта можно скачать версии Picat для Linux, MacOS и Windows.
Исходный код доступен под Mozilla Public License.