Можете ли вы сделать логическое программирование в Scala? - PullRequest
15 голосов
/ 17 апреля 2010

Я где-то читал, что Pattern Matching, подобный тому, который поддерживается в Scala функцией соответствия / совпадения, на самом деле был заимствован из языков логики, таких как Prolog.

Можете ли вы использовать Scala для элегантного решения таких проблем, как проблема подключенного графика? например https://www.csupomona.edu/~jrfisher/www/prolog_tutorial/2_15.html

Ответы [ 11 ]

0 голосов
/ 02 мая 2019

Я нашел это http://yieldprolog.sourceforge.net/ как источник для прологоподобной системы реализация методов, а не недокументированный исходный код или загадочные библиотеки.

Но я заинтересовался Scala всего несколько дней назад, поэтому задал тот же вопрос на users.scala: https://users.scala -lang.org / т / выход-Пролог-объединительная-и-сопрограмма-в-Скалы / 4433

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

...