Пригодность для проблем пролога

Чтобы начать работать с core.logic, я решил проработать "Девяносто девять проблем Пролога"...

https://github.com/rodnaph/99-core-logic-problems

Но после всего лишь нескольких проблем, из моего нынешнего понимания, не кажется, что core.logic является правильным способом решения этих проблем (поскольку они требуют только одного ответа).

Я мог бы неправильно понять реляционный подход, но я лаю не на том дереве? Должен ли я просто использовать Пролог?

Приветствия.

1 ответ

Первоначальные проблемы для Пролога, а в Прологе реляционный подход - единственный, который у вас есть. Большинство из этих проблем на самом деле являются замаскированным функциональным программированием и не используют возврат к исходному состоянию, поэтому в Clojure использовать его было бы нелогично. core.logic для них.

Тем не менее, одна из полезных вещей Prolog - то, что вы часто можете запускать их задом наперед (в основном простые), чтобы генерировать все возможные решения. Например, вы можете найти все способы разбить список на две части, запустив append в обратном направлении.

Другие вопросы по тегам