*Лисп

Язык программирования
*Лисп (StarLisp)
ПарадигмыМультипарадигмальный : функциональный , процедурный , рефлексивный , мета , параллельный
СемьяЛисп
РазработаноКлифф Лассер, Стив Омохундро
РазработчикКорпорация «Мыслящие машины»
Впервые появился1986 ; 39 лет назад ( 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 . Быстро стало ясно, что для достижения скорости в гигаФЛОПС , которая теоретически достижима с помощью Connection Machine, понадобится компилятор *Lisp , транслирующий *Lisp в Lisp и PARIS . Компилятор *Lisp был написан Джеффом Минси и впервые выпущен в 1986 году. Приложение, достигающее более двух гигаФЛОПС, симулятор следа вертолета, было разработано Аланом Эголфом, тогдашним сотрудником United Technologies , и Дж. П. Массаром, сотрудником Thinking Machines, в 1987 году. [2]

*Lisp Simulator, эмулятор , предназначенный для запуска кода *Lisp на стандартных, непараллельных машинах, был разработан в то же время JP Massar. Этот симулятор все еще существует, [3] и был портирован в American National Standards Institute (ANSI) Common Lisp (CL) в 2001 году. Более старая версия, написанная на оригинальном CL, существует в репозитории искусственного интеллекта (ИИ) Университета Карнеги-Меллона (CMU) . [4]

Более поздние версии *Lisp, включавшие значительные улучшения функций и производительности, разрабатывались Клиффом Лассером, Джеффом Минси и Дж. П. Массаром до 1989 года. *Lisp был реализован на Thinking Machines CM5 примерно в 1990–1991 годах Дж. П. Массаром и Марио Бургуаном.

19581960196519701975198019851990199520002005201020152020
 LISP 1, 1.5, LISP 2 (заброшен)
 Маклисп
 Интерлисп
 молдавский лей
 Лисп-машина Лисп
 Схема Р5РС Р6РС R7RS маленький
 НОЛЬ
 ZIL (язык реализации Zork)
 Франц Лисп
 Общий Лисп стандарт ANSI
 Ле Лисп
 Схема Массачусетского технологического института
 XLISP
 Т
 Chez Схема
 Emacs Лисп
 АвтоЛИСП
 ПикоЛисп
 Гамбит
 EuLisp
 ИСЛИСП
 OpenLisp
 Схема ПЛТ Ракетка
 новыйLISP
 GNU-хитрость
 Визуальный ЛИСП
 Кложур
 Дуга
 ЛФЭ
 Хай

Выполнение

StarLisp был написан на Common Lisp (CL), и, таким образом, обладал всей мощью CL. Для использования Connection Machine требовался хост или front-end . Для использования *Lisp этот front-end должен был запускать CL. Машины Symbolics , использующие Genera , и рабочие станции Sun Microsystems, работающие на Lucid Common Lisp от Lucid Inc., использовались для работы *Lisp.

StarLisp оперировал параллельными переменными (PVARS). Они представляли память машины соединений и были по сути векторами : один элемент на процессор CM (или виртуальный процессор).

StarLisp состоял из стандартных операций над PVARS, таких как сложение и умножение векторов, а также примитивов связи, которые по сути переупорядочивали элементы PVAR, используя коммуникационное оборудование CM для оптимальной маршрутизации данных.

Ссылки

  1. ^ МакДжонс, Пол (2015-04-19). "Parallel Lisp: Connection Machine *Lisp (StarLisp)". Computer History Museum . Получено 29-12-2018 .
  2. ^ Реализация свободного следа вертолета на усовершенствованных компьютерных архитектурах, Международная конференция по фундаментальным исследованиям винтокрылых машин, 1988 г.
  3. ^ "Franz Inc". Franz Inc. Архивировано из оригинала 2005-03-06 . Получено 2005-06-26 .
  4. ^ Massar, JP (13 февраля 1995 г.). "STARSIM: Thinking Machines' *Lisp Simulator". Репозиторий искусственного интеллекта Университета Карнеги-Меллона (CMU) . Получено 29 декабря 2018 г.
Взято с "https://en.wikipedia.org/w/index.php?title=*Lisp&oldid=1190476138"