NIL (язык программирования)

редактировать
Nil
Парадигмы Мультипарадигма : функциональный, процедурное
СемействоЛисп
Разработано Джоном Л. Уайтом
Разработчики Джон Л. Уайт,. Гай Л. Стил-младший,. Ричард П. Габриэль
Впервые появилось1979; 41 год назад (1979)
Дисциплина набора текста динамический, сильный
Язык реализацииVAX ассемблер
Платформа PDP-6, PDP-10
OS TOPS-10, ITS
Под влиянием
Lisp, Maclisp
Под влиянием
Common Lisp,T

Новая реализация LISP (NIL ) - это язык программирования, диалект языка Lisp, разработанный в Массачусетский технологический институт (MIT) в течение 1970-х годов, который должен был стать преемником языка Maclisp. Это 32-битная реализация, частично являющаяся ответом на компьютер Digital Equipment Corporation (DEC) VAX. Проект возглавил Джон Л. Уайт с заявленной целью поддерживать совместимость с MacLisp при одновременном исправлении многих его проблем.

Содержание
  • 1 История
  • 2 Цитаты
  • 3 Ссылки
  • 4 Библиография
  • 5 Статьи
История

Был изобретен язык Lisp в 1958 году Джоном Маккарти, когда он учился в Массачусетском технологическом институте (MIT). С самого начала Lisp был тесно связан с сообществом по исследованиям искусственного интеллекта (AI) сообществом, особенно с системами PDP-10. На размер 36-битного слова в PDP-6 и PDP-10 повлияла полезность наличия двух Lisp 18-битные указатели одним словом: «Проект PDP-6 стартовал в начале 1963 года как 24-битная машина. Он вырос до 36 бит для LISP, цель дизайна ". Лисп использовался как реализация языка программирования Micro Planner, который лег в основу знаменитой системы ИИ SHRDLU. Лисп, в частности Maclisp (названный так, потому что он возник в проекте MAC Массачусетского технологического института), также использовался для реализации системы компьютерной алгебры Macsyma . В 1970-х годах, когда исследования ИИ породили коммерческие ответвления, производительность существующих Lisp-систем стала растущей проблемой.

Отчасти из-за сборки мусора (Lisp будет использовать сборку мусора с остановкой и копированием своей единственной кучи для выделения памяти ) и отчасти из-за представления внутренней памяти. структур, Лисп стало трудно запускать на ограниченном по памяти компьютерном оборудовании того времени. Это привело к созданию машин на Лиспе : специализированного оборудования для запуска сред и программ Лиспа. Альтернативой было использование более мощного серийного оборудования, которое становилось доступным, особенно Digital Equipment Corporation (DEC) VAX.

NIL, реализация Lisp, разработанная в Массачусетский технологический институт в середине-конце 1970-х годов и задумывался как современный преемник Maclisp, который мог работать на стандартном оборудовании, в отличие от Lisp Machine Lisp для машин Lisp. «Первоначально разработанный как первый современный диалект Lisp на стандартном оборудовании после разработки Lisp-машины Lisp в Массачусетском технологическом институте, он стал одним из главных факторов, повлиявших на дизайн Common Lisp». (стр. 63/294 из) Поскольку пользователи программы Macsyma представляют большую потенциальную базу пользователей NIL, было необходимо, чтобы NIL была большой и сложной системой, а скорость была бы обязательной. Например, высокоскоростной bignums был требованием для поддержки Macsyma, так как NIL будет ошибкой с медленными bignums. Следовательно, NIL получил большую базу VAX язык ассемблера. Эти требования привели к очень агрессивной и сложной стратегии оптимизации, которая была применена преждевременно, с отрицательными результатами в окончательной системе.

Одновременно с попыткой написать NIL, исследовательская группа в Стэнфордском университете и Ливерморская национальная лаборатория, возглавляемая Ричардом П. Габриэлем, исследовали дизайн Лиспа для работы на суперкомпьютере S-1 Mark IIA , S-1 Лисп. Этот Лисп никогда не был полностью функциональным, но был испытательной площадкой для реализации передовых методов компилятора в Лиспе. В конце концов группы S-1 и NIL начали сотрудничать.

Несмотря на неудачу в достижении поставленных целей в качестве используемого языка, NIL был важен по нескольким причинам. Сначала он объединил Джона Л. Уайта, Гая Л. Стила-младшего и Ричарда П. Габриэля, которые позже дали определение Common Lisp. Во-вторых, Джонатан Рис работал над частью проекта NIL в течение года вне Йельского университета. По возвращении в Йельский университет он был нанят отделом информатики для написания нового Lisp, который стал оптимизирующей системой с собственным кодом Scheme под названием T. Частично это название произошло от NIL, поскольку «T - это не NIL».

Цитаты

Происхождение и возможный провал такого рода проектов всегда ясно видны (в ретроспективе) в шибболетах из ранних дискуссий. Одна ключевая подсказка - это всегда что-то вроде: «Мы выбросим все старые хлам, начнем заново и просто будем делать все правильно».

— Олин Шиверс
Ссылки
Библиография
  • Брент Т. Хейлперн, Брюс Л. Хитсон. Руководство по архитектуре S-1. Технический отчет 161 (STAN-CS-79-715), факультет электротехники, Стэнфордский университет, январь 1979 г.
  • G. Берк. Введение в NIL. Лаборатория компьютерных наук, Массачусетский технологический институт, март 1983 г.
  • Г.С. Берк, Г.Дж. Карретт, К.Р. Элиот. Примечания NIL к версии 0.259, Лаборатория компьютерных наук, Массачусетский технологический институт, июнь 1983 г.
  • G.S. Берк, Г.Дж. Карретт, К. Р. Элиот. Справочное руководство NIL. Отчет MIT / LCS / TR-311, Лаборатория компьютерных наук, Массачусетский технологический институт, Кембридж, Массачусетс, 1983.
Статьи
  • Стивен Коррелл. Однопроцессорная архитектура С-1 (СМА-4). Том I, глава 4, Годовой отчет проекта S-1 за 1979 год, Ливерморская лаборатория Лоуренса, Ливермор, Калифорния, 1979.
  • Джон Л. Уайт. Нил: Перспектива. Протоколы конференции пользователей Macsyma 1979 года, Вашингтон, округ Колумбия, июнь 1979 года.
  • Родни А. Брукс, Ричард П. Габриэль, Гай Л. Стил младший, реализация Common Lisp S-1. Материалы симпозиума ACM 1982 года по LISP и функциональному программированию, Питтсбург, 1982, страницы 108 - 113. ACM DL
  • Родни А. Брукс, Ричард П. Габриэль, Гай Л. Стил мл. Оптимизирующий компилятор для LISP с лексической областью видимости. Труды симпозиума 1982 г. по созданию компиляторов, Бостон, июнь 1982 г., страницы 261-275. ACM DL
  • Марк Смотерман. Суперкомпьютер С-1 (1975–1988). Веб-сайт, последнее обновление - 24 апреля 2004 г. http://www.cs.clemson.edu/~mark/s1.html
Последняя правка сделана 2021-05-31 07:01:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте