Более новый язык программирования, чем Prolog для логического программирования

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

Ответы

Ответ 1

Mercury является приятным и современным и напоминает пролог.

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

Отказ от ответственности: я работаю над проектом Mercury и выбираю Mercury в выборе между Oz/Mozart и Mercury.