Я работаю над приложением на Java, которое должно выполнять некоторые сложные логические выводы правил как часть его функциональности. Я бы хотел закодировать свои логические выводы в Prolog или какой-то другой язык программирования с логикой/ограничением, вместо Java, так как я считаю, что полученный код будет значительно проще и удобнее обслуживать.
Я googled для встроенных реализаций Java на Prolog и нашел их число, каждый из которых имеет очень небольшую документацию. Мои (скромные) критерии выбора:
- должен быть встроен в Java (например, может быть связан с моим пакетом java вместо необходимости использования каких-либо встроенных установок на внешних программах)
- простой интерфейс для использования с Java (для инициирования вычетов, проверки результатов и добавления правил)
- Приведите, по крайней мере, несколько примеров того, как его использовать.
- необязательно должен быть Prolog, но другие языки программирования с логикой/ограничениями с указанными выше критериями также соответствовали бы моим потребностям.
Какие у меня есть варианты и каковы их преимущества и недостатки?