Paradigm | multi-paradigm : логика, функциональная |
---|---|
Веб-сайт | Получение и установка ALF |
Алгебраическая логика Функциональный язык программирования, также известный как ALF, является язык программирования, который сочетает в себе функциональные и методы логического программирования. Его основой является предложение Хорна логика с равенством, которая состоит из предикатов и предложений Хорна для логического программирования, а также функций и уравнений для функционального программирования.
ALF был разработан для подлинной интеграции обеих парадигм программирования, поэтому любое функциональное выражение может использоваться в литерале цели, а произвольные предикаты могут встречаться в условиях уравнений. Операционная семантика ALF основана на правиле разрешения для решения литералов и сужении для оценки функциональных выражений. Чтобы уменьшить количество возможных шагов сужения, используется самая левая основная стратегия сужения, которая, как утверждается, может быть эффективно реализована. Термины упрощаются путем переписывания перед применением шага сужения, и уравнения отклоняются, если две стороны имеют разные конструкторы наверху. Предполагается, что перезапись и отклонение приведут к значительному сокращению дерева поиска и создадут операционную семантику, более эффективную, чем стратегия разрешения Prolog. Подобно Prolog, ALF использует стратегию обратного отслеживания, соответствующую поиску в глубину в дереве вывода.
Система ALF была разработана для эффективной реализации комбинации разрешения, сужения, перезаписи и отклонения. Программы ALF компилируются в инструкции абстрактной машины. Абстрактная машина основана на абстрактной машине Уоррена (WAM) с несколькими расширениями для реализации сужения и перезаписи. В текущей реализации ALF программы этой абстрактной машины выполняются эмулятором, написанным на C.
. В репозитории Университета Карнеги-Меллона Искусственный интеллект ALF включен как язык программирования AI, в частности, как реализация языка функционального / логического программирования Пролог. Доступно руководство пользователя с описанием языка и использования системы. Система ALF работает под управлением Unix и доступна по специальной лицензии на проприетарное программное обеспечение, которая дает право на использование для «оценки, исследования и обучения», но не для коммерческого или военного использования.
.