Более новый язык программирования, чем Prolog для логического программирования - PullRequest
14 голосов
/ 16 января 2011

Есть ли более новый язык, чем Prolog, специализирующийся на логическом программировании?

Ответы [ 5 ]

9 голосов
/ 16 января 2011

Mercury хорош и современен и напоминает пролог.

Mercury - это новый логический / функциональный язык программирования, который сочетает в себе ясность и выразительность декларативного программирования с продвинутой статическойфункции анализа и обнаружения ошибок.Его высоко оптимизированный алгоритм выполнения обеспечивает эффективность, намного превышающую существующие системы логического программирования и близкую к обычным системам программирования.Mercury решает проблемы крупномасштабной разработки программ, позволяя использовать модульность, раздельную компиляцию и многочисленные компромиссы с оптимизацией и временем.

5 голосов
/ 16 января 2011

Существует довольно многообещающий язык программирования с функциональной логикой, который называется Curry .Несмотря на его новизну, к Curry будет легко привыкнуть, если вы уже знаете Haskell и Prolog, так как на них непосредственно влияли эти два языка.

Curry плавно сочетает в себе функции функционального программирования(вложенные выражения, функции высшего порядка, отложенная оценка), логическое программирование (логические переменные, частичные структуры данных, встроенный поиск) и параллельное программирование (одновременная оценка выражений с синхронизацией по логическим переменным).

3 голосов
/ 16 ноября 2013

Logtalk - это объектно-ориентированный язык логического программирования, который расширяет и использует язык Prolog с набором функций, подходящим для программирования в целом, с акцентом на механизмы инкапсуляции и повторного использования кода.Это очень переносимая поддержка, поскольку бэкэнд-компилятор наиболее активно поддерживает реализации Prolog.Другие заслуживающие внимания функции включают в себя поддержку как прототипов, так и классов, протоколов (интерфейсов), коиндукции, программирование на основе компонентов, программирование на основе событий и многопоточное программирование высокого уровня.Текущий дистрибутив включает большой набор примеров программирования, инструментов программирования, библиотек и текстовых редакторов, а также поддержку подсветки синтаксиса для программирования и публикации исходного кода.

1 голос
/ 16 ноября 2013

Не забывайте, что Prolog является хостом для многих новых расширений, которые можно считать языками сами по себе. В частности языки ограничения, такие как CLP (R), CLP (Q), CLP (FD). Более общие расширения, такие как CHR, но также много типизированных подходов.

Эти языки обычно поставляются в виде библиотеки в существующей системе Prolog. То, что вы получаете в этой настройке, часто является значительно более зрелой и стабильной реализацией, чем система с нуля. В конце концов, многим системам Prolog уже почти 30 лет.

1 голос
/ 04 августа 2011

Oz / Mozart - это язык программирования с несколькими парадигмами, который поддерживает программирование логики как одну из своих функций.Я никогда не использовал его, поэтому не могу сказать, хорошо ли это.Это, конечно, кажется интересным.

Отказ от ответственности: я работаю над проектом Меркурий и выбрал бы Меркурий в выборе между Оз / Моцарт и Меркурий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...