Логическое программирование без пролога

Есть ли хорошие языки программирования логики без пролога или пролога?

Кто имеет или имеет какой-либо хороший опыт?

Ответ 1

Взгляните на помощников по доказательству теоремы, например Coq, HOL и Isabelle.

Некоторые типы систем (например, в Agda2) также могут рассматриваться как логическое программирование.

Ответ 3

Я очень рекомендую The Reasoned Schemer, Дэн Фридман, Олег Киселев и Уилл Берд. Он представляет miniKanren, небольшой (трехъядерный оператор) логический язык программирования, построенный на Схеме. Это приятно использовать, особенно с макросом matche, который позволяет унифицировать шаблон.

Ответ 4

Я познакомился с DLV и моделировал через программирование на основе ответа, которое в основном является логическим программированием.

Ответ 5

Вы можете проверить CLIPS. Он структурирован как Lisp (много паренов), но он предназначен для создания экспертных систем; Я не видел проблемы, что Prolog решает, что CLIPS не может. Как и Prolog, он основывается на фактах построения, а затем выполняет запросы против них.

Ответ 6

Там также довольно быстрая реализация miniKanren, написанная в Clojure, называемая core.logic.

Есть также несколько руководств по его использованию:

https://github.com/clojure/core.logic/wiki/A-Core.logic-Primer

https://github.com/frenchy64/Logic-Starter/wiki

http://objectcommando.com/blog/2011/11/04/the-magical-island-of-kanren-core-logic-intro-part-1/

http://clojure.com/blog/2011/12/08/lojic-part-two.html

Ответ 7

Меркурий и Оз spring на ум. Там также есть Datalog, который является ограниченной (без Тьюринга) версией Prolog.