Самый полезный и поучительный функционально-логический язык для изучения

Я был очень удивлен силой Пролога. Потребовалось некоторое время, чтобы разобраться, но мне показалось, что это был самый крутой декларативный язык. Вот почему недавно, после двух лет некоторого функционального программирования в Scala, я решил снова взглянуть на логическое программирование, чтобы «тренировать свой мозг» или лучше для реального использования.

Сочетание функционального и логического программирования кажется мне привлекательным для изучения / закрепления концепций обеих декларативных парадигм. Я считаю также, что сильные системы типов очень полезны и увлекательны.

Скала действительно сияла взаимодействием. Давайте не будем изобретать колеса. Он должен иметь возможность вызывать код на другом основном языке, предпочтительно, чтобы его можно было вызывать. Но это не обязательно Java. C или Haskell тоже будет в порядке.

Итак, какие языки языка FLP наиболее полезны и полезны сегодня, и каковы ваши мнения и рекомендации по ним?

Вот что я нашел до сих пор:

Меркурий: утверждает, что быстрый, строго типизированный Пролог. Чисто декларативный, но без логических переменных! Нет ограничений программирования? Кажется, наиболее широко используемый ФЛП. Interop ??

Карри: кажется многообещающим и наиболее продвинутым, но сейчас немного документирован. Означает ли «экспериментальный» незрелый / не готовый к погружению? только на основе Haskell или на самом деле хорошее взаимодействие с Haskell?

Чао: кажется, предоставляет много функций, которые я хочу, но переполнение стека, кажется, даже не знает об этом, хотя существует с 1984 года? Что с этим не так? Interop?

drools (java library / DSL): утверждает, что допускает гибридное прямое и обратное сцепление. Зрелые. Прямое взаимодействие с Java / Scala, но полагаться на изменяемые данные / императивные конструкции? Насколько хорошо он интегрируется с функциональными языками JVM?

miniKanren: реализации существуют на нескольких платформах. Как взаимодействие? Эффективное?

Лямбда Пролог реализации, такие как:

КэледонМожет быть, хорошая, но тяжелая теория. Полезность? Эффективное взаимодействие с Haskell? Документация?

Teyjus, похож на Каледон.

Хорошо, но теоретически читает и склоняется к карри и не рассматривает практические проблемы:

http://doi.acm.org/10.1145/1721654.1721675

http://www.informatik.uni-kiel.de/~mh/slides/ETAPS00.pdf

Ответы на вопрос(2)

Ваш ответ на вопрос