Введение
POP 11 — это рефлексивный, инкрементально компилируемый язык программирования, обладающий многими характеристиками интерпретируемого языка. Он является основным языком среды программирования Poplog, разработанной первоначально в Университете Сассекса, а в последнее время — в Школе компьютерных наук Университета Бирмингема, где размещен основной веб-сайт Poplog. POP 11 является развитием языка POP 2, разработанного в Эдинбургском университете, и использует модель открытого стека (как, например, Forth). Язык преимущественно процедурный, но поддерживает декларативные конструкции, включая сопоставление с образцом, и в основном используется для исследований и обучения в области искусственного интеллекта, хотя его функциональности достаточно для решения многих других задач. Он часто применяется для ознакомления программистов, работающих с более традиционными языками, такими как Pascal, с техниками символьного программирования, поскольку синтаксис POP представляется им более понятным, чем синтаксис Lisp. Одной из особенностей POP 11 является поддержка функций высшего порядка. POP 11 является основным языком системы Poplog. Наличие компилятора и подпрограмм компилятора во время выполнения (необходимое условие для инкрементальной компиляции) позволяет поддерживать гораздо более широкий спектр расширений (включая расширения во время выполнения, например, добавление новых типов данных), чем было бы возможно при использовании только макросов. Это позволило добавить (опциональные) инкрементальные компиляторы для Prolog, Common Lisp и Standard ML, которые можно было подключать по мере необходимости для поддержки смешанной разработки или разработки на втором языке без использования конструкций POP 11. Это сделало Poplog доступным для преподавателей, исследователей и разработчиков, заинтересованных только в одном из языков. Наиболее успешным продуктом, разработанным на POP 11, стала система интеллектуального анализа данных Clementine, разработанная компанией ISL. После приобретения ISL компанией SPSS, Clementine была переименована в SPSS Modeler и принято решение о ее переносе на C++ и Java, что в конечном итоге было успешно реализовано, хотя и потребовало значительных усилий и, возможно, привело к некоторой потере гибкости, обеспечиваемой использованием языка искусственного интеллекта. POP 11 некоторое время был доступен только в составе дорогостоящего коммерческого пакета (Poplog), но с 1999 года он распространяется бесплатно как часть версии Poplog с открытым исходным кодом, включая различные дополнительные пакеты и учебные библиотеки. Онлайн-версия ELIZA, реализованная на POP 11, доступна в Бирмингеме. В Университете Сассекса Дэвид Янг использовал POP 11 в сочетании с C и Fortran для разработки набора инструментов обучения и интерактивной разработки для обработки изображений и компьютерного зрения, которые были включены в расширение Popvision для Poplog.