Jump to content

Альма-0

Альма-0
Парадигма мультипарадигма : ограничение , императив , логика.
Семья Вирт Модуль
Разработано Кшиштоф Апт , Марк Безем, Джейкоб Брунекриф, Винсент Партингтон, Андреа Шерф
Разработчик Центр математики и информатики
Впервые появился 1997 год ; 27 лет назад ( 1997 )
Дисциплина набора текста статический
Объем Лексический (статический)
Веб-сайт www .cwi .nl /Алма
Основные реализации
Альма-0
Под влиянием
Модуль-2

Alma-0 мультипарадигменный программирования язык . Этот язык представляет собой расширенную версию императивного языка Модулы-2 с функциями логического программирования и удобной возможностью возврата . [1] Он небольшой, строго типизирован и сочетает в себе программирование в ограничениях , ограниченное количество функций, вдохновленных логическим программированием , и поддерживает императивные парадигмы . Язык поддерживает декларативное программирование . Разработчики утверждают, что созданные с его помощью ориентированные на поиск решения существенно проще, чем их аналоги, написанные в чисто императивном или логическом стиле программирования. [2] Alma-0 предоставляет естественные высокоуровневые конструкции для построения деревьев поиска. [3]

Поскольку разработчики Alma-0 хотели создать четкое и существенно более простое предложение, чем предыдущие попытки интегрировать конструкции декларативного программирования (такие как автоматический возврат) в императивное программирование, при разработке Alma-0 руководствовались четырьмя принципами:

  • Расширение, основанное на логике, должно быть совместимо с лежащим в его основе императивным языком программирования.
  • Расширение на основе логики должно быть совместимо с будущими расширениями, которые будут поддерживать программирование с ограничениями.
  • Конструкции, которые будут реализовывать расширение, должны поддерживать и поощрять декларативное программирование.
  • Расширение должно быть небольшим: предложено и реализовано девять новых функций.

Alma-0 можно рассматривать не только как конкретное предложение языка программирования, но и как пример общего метода расширения любого императивного языка программирования функциями, поддерживающими декларативное программирование.

Осуществимость подхода Alma-0 была продемонстрирована посредством полной реализации языка (включая описание его семантики) для подмножества Modula-2 . [4]

Реализованные в Alma-0 функции включают в себя:

  • Использование логических выражений в качестве операторов и наоборот
  • Двойник для FOR утверждение, которое вводит недетерминизм в форме точек выбора и возврата
  • А FORALL оператор, который вводит контролируемую форму итерации при возврате
  • Унификация , которая, хотя и ограничивается использованием равенства в качестве присваивания, дает новый механизм передачи параметров .

Императивный и логический режимы программирования

[ редактировать ]

Разработчики Alma-0 утверждают, что присваивание, которого обычно избегают в чистом декларативном и логическом программировании, на самом деле необходимо в ряде естественных ситуаций, в том числе для целей подсчета и записи. Они также утверждают, что средства выражения такого «естественного» использования присваивания в парадигме логического программирования неестественны.

  1. ^ Лю, Джед; Майерс, Эндрю К. (2003). «JMatch: Итерируемое сопоставление абстрактных шаблонов для Java». Практические аспекты декларативных языков . Конспекты лекций по информатике. Том. 2562/2003. стр. 110–127. дои : 10.1007/3-540-36388-2_9 . ISBN  978-3-540-00389-2 .
  2. ^ Партингтон, Винсент (июль 1997 г.). Реализация императивного языка программирования с возвратом (PDF) (Отчет). Исследовательская группа по программированию Амстердамского университета. Архивировано (PDF) из оригинала 29 ноября 2023 года . Проверено 15 февраля 2021 г. Также в Postscript. Архивировано 31 мая 2024 года в Wayback Machine .
  3. ^ Ван Хентенрик, Паскаль; Перрон, Лоран; Пьюже, Жан-Франсуа (октябрь 2000 г.). «Поиск и стратегии в OPL». Транзакции ACM в вычислительной логике . 1 (2): 285–320. CiteSeerX   10.1.1.17.836 . дои : 10.1145/359496.359529 . S2CID   15926704 .
  4. ^ Даль, Вероника (12 февраля 2003 г.). Практические аспекты декларативных языков: 5-й международный симпозиум, PADL 2003, Новый Орлеан, Луизиана, США, 13-14 января 2003 г., Труды . Springer Science & Business Media. ISBN  978-3-540-00389-2 . Архивировано из оригинала 31 мая 2024 года . Проверено 25 февраля 2023 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9cb7dff0af24e63a0d80425fc1a7aea5__1717801140
URL1:https://arc.ask3.ru/arc/aa/9c/a5/9cb7dff0af24e63a0d80425fc1a7aea5.html
Заголовок, (Title) документа по адресу, URL1:
Alma-0 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)