Есть ли хорошие языки программирования логики без пролога или пролога?
Кто имеет или имеет какой-либо хороший опыт?
Есть ли хорошие языки программирования логики без пролога или пролога?
Кто имеет или имеет какой-либо хороший опыт?
Взгляните на помощников по доказательству теоремы, например Coq, HOL и Isabelle.
Некоторые типы систем (например, в Agda2) также могут рассматриваться как логическое программирование.
Программирование набора ответов - чрезвычайно мощная парадигма логического программирования. У меня был большой успех с решателем набора ответов claspo/clingo.
Я очень рекомендую The Reasoned Schemer, Дэн Фридман, Олег Киселев и Уилл Берд. Он представляет miniKanren, небольшой (трехъядерный оператор) логический язык программирования, построенный на Схеме. Это приятно использовать, особенно с макросом matche
, который позволяет унифицировать шаблон.
Я познакомился с DLV и моделировал через программирование на основе ответа, которое в основном является логическим программированием.
Вы можете проверить CLIPS. Он структурирован как Lisp (много паренов), но он предназначен для создания экспертных систем; Я не видел проблемы, что Prolog решает, что CLIPS не может. Как и Prolog, он основывается на фактах построения, а затем выполняет запросы против них.
Там также довольно быстрая реализация 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/
Меркурий и Оз spring на ум. Там также есть Datalog, который является ограниченной (без Тьюринга) версией Prolog.