Интерлисп


Interlisp (также встречается с различными заглавными буквами) — это среда программирования, построенная на основе версии языка программирования Lisp . Разработка Interlisp началась в 1966 году в компании Bolt, Beranek and Newman (переименованной в BBN Technologies ) в Кембридже, штат Массачусетс, с Lisp, реализованного Дэнни Бобровым и Д.Л. Мерфи для компьютера PDP-1 корпорации Digital Equipment Corporation (DEC) . В 1970 году Алиса К. Хартли реализовала BBN LISP , который работал на машинах PDP-10 под управлением операционной системы TENEX (переименованной в TOPS-20 ). В 1973 г. [1] когда Дэнни Бобров , Уоррен Тейтельман и Рональд Каплан перешли из BBN в Исследовательский центр Xerox в Пало-Альто ( PARC ), он был переименован в Interlisp. Interlisp стал популярным инструментом разработки Lisp для исследователей искусственного интеллекта (ИИ) в Стэнфордском университете и в других местах в сообществе Агентства перспективных исследовательских проектов Министерства обороны ( DARPA ). Interlisp отличался интеграцией интерактивных средств разработки в интегрированную среду разработки (IDE), таких как отладчик , средство автоматического исправления простых ошибок (через do what I mean ( DWIM) разработка программного обеспечения, [2] и средства анализа.

В Xerox PARC была предпринята первая попытка определить виртуальную машину для облегчения переноса , названную виртуальной машиной Interlisp . Однако в качестве основы для портирования он не пригодился.

Питер Дойч определил набор инструкций с байтовым кодированием для Interlisp и реализовал его как эмулятор микрокода для Xerox Alto . Затем он был перенесен на серию рабочих станций, произведенных Xerox , для внутреннего и коммерческого использования, в том числе на Xerox 1100 (Dolphin), 1108 (Dandelion), 1109 (Dandetiger с поддержкой операций с плавающей запятой), 1186 (Daybreak) . и 1132 (Дорадо). Реализации Interlisp для них были известны под общим названием Interlisp-D. Коммерчески они продавались как машины Lisp и назывались рабочими станциями Xerox AI, когда Ларри Масинтербыл главным научным сотрудником этой группы. Одни и те же проекты, но с другим программным обеспечением, также продавались под разными названиями (например, при работе с системой Viewpoint 1186 Daybreak продавался как Xerox 6085). Выпуски Interlisp-D назывались в соответствии с музыкальной темой, которая заканчивалась с Кото, Лирик и Медли. Более поздние версии включали реализацию Common Lisp до Американского национального института стандартов (ANSI) под названием Xerox Common Lisp. LOOPS, объектная система для Interlisp-D, стала, наряду с системой Symbolics ' Flavors , основой для Common Lisp Object System (CLOS).

В 1974 году DARPA заключило контракт с Калифорнийским университетом в Сан-Диего (UCSD) на внедрение Interlisp на Burroughs B6700 . Мотивацией было большее адресное пространство виртуальной памяти, предоставляемое архитектурой B6700 по сравнению с PDP-10. Однако к моменту выпуска программного обеспечения (1975 г.) адресное пространство PDP-10 было увеличено, и Interlisp-10 оставался стандартом дня для исследований ИИ. Разработчиками были Билл Горд и Стэн Силер под руководством Дэниела Боброва и под общим руководством доктора Кена Боулза .. UCSD Interlisp включал компилятор, который выдавал «p-код», который можно было смешивать со стандартным кодом LISP во время интерпретации. Этот p-код, по-видимому, предшествовал p-коду UCSD Pascal на год или два.

Версия Interlisp для PDP-10 стала Interlisp-10 ; У BBN был внутренний проект по созданию Interlisp-Jericho , и в 1982 году Стэнфордский университет , Институт информационных наук (ISI) и Xerox PARC сделали порт Unix для Berkeley Software Distribution (BSD) на VAX под названием Interlisp-VAX . [3]

В 1981 году Уоррен Тейтельман и Ларри Масинтер опубликовали статью об Interlisp в IEEE Computer , в которой содержится обзор системы и философии ее разработки, а также настройки запуска, используемые для платформы. [4]