Алгебраическая логика Функциональный язык программирования
Парадигма | мультипарадигмальность : логика , функционал |
---|---|
Веб-сайт | www |
Под влиянием | |
Пролог |
Algebraic Logic Functional ( ALF ) Язык программирования сочетает в себе методы функционального и логического программирования . Его основой является логика предложений Хорна с равенством, которая состоит из предикатов и предложений Хорна для логического программирования, а также функций и уравнений для функционального программирования.
ALF был разработан как настоящая интеграция обеих парадигм программирования, и поэтому любое функциональное выражение может использоваться в целевом литерале, а произвольные предикаты могут возникать в условиях уравнений. ALF Операционная семантика основана на правиле разрешения для решения литералов и сужении для вычисления функциональных выражений. Чтобы уменьшить количество возможных шагов сужения, используется самая левая внутренняя базовая стратегия сужения, которая, как утверждается, может быть эффективно реализована. [ нужна ссылка ] Термины упрощаются путем переписывания перед применением шага сужения, а уравнения отклоняются, если две стороны имеют разные конструкторы вверху. Предполагается, что переписывание и отклонение приведут к значительному сокращению дерева поиска и созданию операционной семантики, более эффективной, чем . стратегия разрешения Пролога Подобно Прологу, ALF использует стратегию поиска с возвратом, соответствующую поиску в глубину в дереве вывода.
Система ALF была разработана как эффективная реализация сочетания разрешения, сужения, перезаписи и отклонения. Программы ALF компилируются в инструкции абстрактной машины , которая основана на абстрактной машине Уоррена (WAM) с несколькими расширениями для реализации сужения и перезаписи. В текущей реализации ALF программы этой абстрактной машины выполняются эмулятором, написанным C. на
В Университета Карнеги-Меллон хранилище искусственного интеллекта . [1] ALF включен как язык программирования искусственного интеллекта, а точнее как реализация Пролога на языке функционального/логического программирования. [2] Руководство пользователя [3] доступно описание языка и использования системы. Система АЛФ [4] работает на Unix и доступен по специальной на проприетарное программное обеспечение лицензии , которая дает право на использование в «оценочных, исследовательских и учебных целях», но не для коммерческого или военного использования. [5]
Ссылки
[ редактировать ]- ^ «Хранилище искусственного интеллекта CMU» . Университет Карнеги-Меллон . 13 февраля 1995 г. Архивировано из оригинала 23 июня 2007 года . Проверено 22 июня 2007 г.
- ^ «ALF: Алгебраико-логический функциональный язык программирования» . Репозиторий искусственного интеллекта CMU . Университет Карнеги-Меллон . 13 февраля 1995 г. Архивировано из оригинала 10 мая 2007 года . Проверено 22 июня 2007 г.
- ^ Ханус, Майкл; Андреас Шваб (13 февраля 1995 г.). «Руководство пользователя ALF» (PDF) . Институт компьютерных наук Университета Кристиана Альбрехта в Киле . Архивировано (PDF) из оригинала 11 июля 2007 г. Проверено 22 июня 2007 г.
- ^ Ханус, Майкл. «Система АЛФ» . Институт компьютерных наук Университета Кристиана Альбрехта в Киле. Архивировано из оригинала 25 июня 2007 года . Проверено 22 июня 2007 г.
- ^ Ханус, Майкл. «Лицензионное соглашение АЛФ» . Система АЛФ . Институт компьютерных наук Университета Кристиана Альбрехта в Киле. Архивировано из оригинала 2 декабря 2015 года . Проверено 06 марта 2020 г.
Внешние ссылки
[ редактировать ]- Публикации Михаэля Хануса , в том числе множество статей, касающихся конструкции и теории ALF.
- Информация о приобретении и установке системы ALF