Jump to content

ПОП-11

ПОП-11
Парадигма Мультипарадигмальность : структурированная , рефлексивная , процедурная , функциональная , декларативная.
Семья Лисп : ПОП
Разработано Робин Попплстоун , Стив Харди, Крис Меллиш, Аарон Сломан, Джон Уильямс, Роберт Дункан, Саймон Николс, Джон Гибсон
Разработчики Университет Сассекса
ООО "Системные дизайнеры"
ООО "Интеграл Солюшнс"
Университет Бирмингема
Впервые появился 1975 год ; 49 лет назад ( 1975 )
Стабильная версия
16 / январь 2020 г .; 4 года назад ( 2020-01 )
Дисциплина набора текста динамичный
Язык реализации ПОП-11
Платформа PDP-11 , ВАКС , СПАРК , IA-32 , PowerPC , x86-64
ТЫ Кроссплатформенность : VMS , Unix , Linux , Mac OS X , Windows.
Лицензия Собственный (1975–1999)
С открытым исходным кодом (1999 – настоящее время): MIT XFree86.
Веб-сайт www .cs .бхам .uk /исследовать /проекты /поп /поп .информация .html
Основные реализации
AlphaPop, Basic Pop, Pop-9X, Poplog, Spice
Под влиянием
ПОП-2

POP-11 — это рефлексивный , инкрементно компилируемый язык программирования со многими функциями интерпретируемого языка . Это основной язык Poplog, программирования среды первоначально разработанный Университетом Сассекса , а недавно в Школе компьютерных наук Университета Бирмингема , где размещен основной веб-сайт Poplog.

POP-11 — это развитие языка POP-2 , разработанного в Эдинбургском университете , и отличающееся моделью открытого стека (как ) , например, Forth . Он в основном процедурный , но поддерживает декларативные языковые конструкции, включая средство сопоставления с образцом, и в основном используется для исследований и преподавания в области искусственного интеллекта , хотя имеет функции, достаточные для многих других классов задач. Его часто используют для ознакомления с методами символьного программирования программистам более традиционных языков, таких как Паскаль , которые находят синтаксис POP более знакомым, чем синтаксис Lisp . Одной из особенностей POP-11 является поддержка первоклассных функций .

POP-11 — это основной язык системы Poplog. Доступность компилятора и подпрограмм компилятора во время выполнения (требование для инкрементальной компиляции) дает ему возможность поддерживать гораздо более широкий диапазон расширений (включая расширения времени выполнения, такие как добавление новых типов данных), чем это было бы возможно. используя только макросы . Это позволило добавить (необязательные) инкрементальные компиляторы для Prolog , Common Lisp и Standard ML , которые можно было добавлять по мере необходимости для поддержки либо разработки на смешанном языке, либо разработки на втором языке без использования каких-либо конструкций POP-11. Это позволило использовать Poplog преподавателям, исследователям и разработчикам, которых интересовал только один из языков. Самым успешным продуктом, разработанным в POP-11, была система интеллектуального анализа данных Clementine , разработанная ISL. После того, как SPSS купила ISL, они переименовали Clementine в SPSS Modeler и решили портировать его на C++ и Java , и в конечном итоге это удалось с большими усилиями и, возможно, с некоторой потерей гибкости, обеспечиваемой использованием языка искусственного интеллекта.

POP-11 какое-то время был доступен только как часть дорогого коммерческого пакета (Poplog), но примерно с 1999 года он был доступен бесплатно как часть с открытым исходным кодом версии программного обеспечения Poplog , включая различные дополнительные пакеты и обучающие библиотеки . Онлайн-версия ELIZA с использованием POP-11 доступна в Бирмингеме.

В Университете Сассекса Дэвид Янг использовал POP-11 в сочетании с C и Fortran для разработки набора инструментов обучения и интерактивной разработки для обработки изображений и зрения и сделал их доступными в расширении Popvision для Poplog.

Простые примеры кода [ править ]

Вот пример простой программы POP-11:

define Double(Source) -> Result;
    Source*2 -> Result;
enddefine;
Double(123) =>

Это распечатывает:

** 246

Этот включает в себя некоторую обработку списка:

 define RemoveElementsMatching(Element, Source) -> Result;
     lvars Index;
     [[%
     for Index in Source do
         unless Index = Element or Index matches Element then
             Index;
         endunless;
     endfor;
     %]] -> Result;
 enddefine;

 RemoveElementsMatching("the", [[the cat sat on the mat]]) => ;;; outputs [[cat sat on mat]]
 RemoveElementsMatching("the", [[the cat] [sat on] the mat]) => ;;; outputs [[the cat] [sat on] mat]
 RemoveElementsMatching([[= cat]], [[the cat]] is a [[big cat]]) => ;;; outputs [[is a]]

Примеры использования средства сопоставления шаблонов POP-11, которое позволяет студентам относительно легко научиться разрабатывать сложные программы обработки списков без необходимости рассматривать шаблоны как древовидные структуры, к которым обращаются функции «голова» и «хвост» (CAR и CDR в Lisp). , можно найти во вводном онлайн-руководстве . Сопоставитель находится в центре набор инструментов SimAgent (sim_agent) . Некоторые из мощных функций набора инструментов, такие как связывание переменных шаблона с переменными встроенного кода, было бы очень сложно реализовать без средств инкрементального компилятора.

См. также [ править ]

Ссылки [ править ]

  • Р. Берстолл, А. Коллинз и Р. Попплстоун , Программирование в издательстве Pop-2 University Press, Эдинбург, 1968 г.
  • DJM Дэвис, Руководство пользователя POP-10 , Отчет по компьютерным наукам № 25, Университет Западного Онтарио, 1976 г.
  • С. Харди и К. Меллиш, «Интеграция Пролога в среду Poplog», в «Реализациях Пролога» , под ред. Дж. А. Кэмпбелла, Wiley, Нью-Йорк, 1983, стр. 147–162.
  • Р. Барретт, А. Рамзи и А. Сломан, POP-11: практический язык искусственного интеллекта , Эллис Хорвуд, Чичестер, 1985 г.
  • М. Бертон и Н. Шедболт, Программирование POP-11 для искусственного интеллекта , Аддисон-Уэсли, 1987 г.
  • Дж. Лавентол, Программирование в POP-11 , Blackwell Scientific Publications Ltd., 1987 г.
  • Р. Барретт и А. Рамзи, Искусственный интеллект на практике: примеры в Pop-11 , Эллис Хорвуд, Чичестер, 1987.
  • М. Шарплс и др., Компьютеры и мысль , MIT Press, 1987. (Введение в когнитивную науку с использованием Pop-11. Интернет-версия, упомянутая выше.)
  • Джеймс Андерсон, редактор, Pop-11 достигает совершеннолетия: развитие языка программирования искусственного интеллекта , Эллис Хорвуд, Чичестер, 1989 г.
  • Г. Газдар и К. Меллиш, Обработка естественного языка в Pop11/Prolog/Lisp , Аддисон Уэсли, 1989. ( читать онлайн )
  • Р. Смит, А. Сломан и Дж. Гибсон, Двухуровневая поддержка виртуальных машин POPLOG для интерактивных языков, в «Направлениях исследований в когнитивной науке», том 5: Искусственный интеллект , под ред. Д. Слиман и Н. Бернсен, Lawrence Erlbaum Associates, стр. 203–231, 1992 г. (Доступно как отчет 153 исследования когнитивных наук, Школа информатики, Университет Сассекса).
  • Крис Торнтон и Бенедикт дю Буле, Искусственный интеллект посредством поиска , Kluwer Academic (версия Intellect Books в мягкой обложке), Дордрехт, Нидерланды и Норвелл, Массачусетс, США (Intellect в Оксфорде), 1992.
  • А. Сломан, Pop-11 Primer , 1999 (третье издание)

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 93b3bb4daecbcc7c5d18e4139d3e0b2b__1711564500
URL1:https://arc.ask3.ru/arc/aa/93/2b/93b3bb4daecbcc7c5d18e4139d3e0b2b.html
Заголовок, (Title) документа по адресу, URL1:
POP-11 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)