*Лисп
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2008 г. ) |
Парадигмы | Мультипарадигма : функциональная , процедурная , рефлексивная , мета , параллельная. |
---|---|
Семья | Лисп |
Разработано | Клифф Лассер, Стив Омохундро |
Разработчик | Корпорация мыслящих машин |
Впервые появился | 1986 год |
Дисциплина набора текста | Динамичный , сильный |
Объем | Статический, лексический |
Язык реализации | Общий Лисп |
Платформа | Соединительная машина |
ТЫ | Соединительная машина |
Под влиянием | |
Лисп , Общий Лисп | |
Под влиянием | |
С* |
*Lisp (или StarLisp ) — язык программирования , диалект языка Lisp . [1] Он был задуман в 1985 году двумя сотрудниками Thinking Machines Corporation , Клиффом Лассером и Стивом Омохундро , как способ предоставить эффективный, но высокоуровневый язык для программирования зарождающейся Connection Machine (CM).
История [ править ]
Прелюдия [ править ]
В то время, когда Connection Machine проектировалась и создавалась, единственным языком, активно разрабатывавшимся для нее, был язык уровня ассемблера под названием PARIS ( Par allel I nstruction Set ). Стало очевидно, что необходим лучший способ запрограммировать машину, причем быстро. Ожидание завершения работы над Connection Machine Lisp (CM Lisp), реализацией языка программирования очень высокого уровня Lisp с расширениями для параллельных вычислений , было невозможным. CM Lisp был предложен Дэнни Хиллисом , и ожидалось, что разработка будет продолжаться еще несколько лет.
Развитие [ править ]
*Lisp Первоначально был разработан интерпретатор . Быстро стало очевидно, что компилятор *Lisp , транслирующий *Lisp в Lisp потребуется для достижения скорости в гигафлопс , которая теоретически достижима с помощью Connection Machine, и PARIS. Компилятор *Lisp был написан Джеффом Минси и впервые выпущен в 1986 году. Приложение, обеспечивающее производительность более двух гигафлопс, симулятор следования вертолета, было разработано Аланом Эгольфом, в то время сотрудником United Technologies , и Дж. П. Массаром, сотрудником Thinking Machines. , в 1987 году. [2]
В то же время Дж. П. Массаром был разработан *Lisp Simulator, эмулятор, предназначенный для запуска кода *Lisp на стандартных, непараллельных машинах. Этот симулятор до сих пор существует, [3] и был перенесен в (CL) Американского национального института стандартов (ANSI) Common Lisp в 2001 году. Более старая версия, написанная на оригинальном CL, существует в (AI) Университета Карнеги-Меллона (CMU) репозитории искусственного интеллекта . [4]
Более поздние версии *Lisp, предполагающие значительные улучшения его функций и производительности, разрабатывались Клиффом Лассером, Джеффом Минси и Дж. П. Массаром до 1989 года. * Lisp был реализован на Thinking Machines CM5 примерно в 1990–1991 годах Дж. П. Массаром и Марио Бургуаном. .
1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ЛИСП 1, 1.5, ЛИСП 2 (заброшенный) | |||||||||||||||
Маклисп | |||||||||||||||
Интерлисп | |||||||||||||||
леев | |||||||||||||||
Лисп-машина Лисп | |||||||||||||||
Схема | Р5РС | Р6РС | R7RS маленький | ||||||||||||
НОЛЬ | |||||||||||||||
ЗИЛ (язык реализации Zork) | |||||||||||||||
Франц Лисп | |||||||||||||||
Общий Лисп | стандарт ANSI | ||||||||||||||
Лисп | |||||||||||||||
Схема СО | |||||||||||||||
XLISP | |||||||||||||||
Т | |||||||||||||||
На схеме | |||||||||||||||
Эмакс Лисп | |||||||||||||||
АвтоЛИСП | |||||||||||||||
ПикоЛисп | |||||||||||||||
Гамбит | |||||||||||||||
EuLisp | |||||||||||||||
ИСЛИСП | |||||||||||||||
ОпенЛисп | |||||||||||||||
Схема PLT | Ракетка | ||||||||||||||
новыйЛИСП | |||||||||||||||
GNU Коварство | |||||||||||||||
Визуальный ЛИСП | |||||||||||||||
Кложур | |||||||||||||||
Дуга | |||||||||||||||
ЛФЭ | |||||||||||||||
Он | |||||||||||||||
Хиалисп |
Реализация [ править ]
StarLisp был написан на Common Lisp (CL) и, таким образом, обладал всей мощью CL. Чтобы использовать Connection Machine, нужен хост или внешний интерфейс . Чтобы использовать *Lisp, этот интерфейс должен был запустить CL. символики машины Genera и Sun Microsystems, , использующие рабочие станции на которых работал Lucid Common Lisp компании Lucid Inc.. Для работы *Lisp использовались
StarLisp оперировал параллельными переменными ) PVARS ( . Они представляли собой память машины соединения и по существу были векторами : один элемент на процессор CM (или виртуальный процессор).
StarLisp состоял из стандартных операций над PVARS, таких как сложение и умножение векторов, а также коммуникационных примитивов, которые по существу переупорядочивали элементы PVAR с использованием коммуникационного оборудования CM для оптимальной маршрутизации данных.
Ссылки [ править ]
- ^ МакДжонс, Пол (19 апреля 2015 г.). «Параллельный Lisp: машина подключения *Lisp (StarLisp)» . Музей истории компьютеров . Проверено 29 декабря 2018 г.
- ^ Реализация свободного следа от вертолета в передовых компьютерных архитектурах, Международная конференция по фундаментальным исследованиям винтокрылых машин, 1988 г.
- ^ «Франц Инк» . Франц Инк . Архивировано из оригинала 6 марта 2005 г. Проверено 26 июня 2005 г.
- ^ Массар, JP (13 февраля 1995 г.). «STARSIM: Симулятор мыслящих машин *Lisp» . Репозиторий искусственного интеллекта Университета Карнеги-Меллон (CMU) . Проверено 29 декабря 2018 г.