'

Первые реализации языка Lisp в СССР

Понравилась презентация – покажи это...





Слайд 0

Первые реализации языка Lisp в СССР Лидия Васильевна Городняя gorod@iis.nsk.su ИСИ СО РАН им. А.П. Ершова


Слайд 1

Конец 1968 года Джон Маккарти прочел в Москве и Новосибирске циклы лекций по Lisp-у и автоматизации доказательств теорем


Слайд 2

Московская (ВЦ АН СССР) Lisp-система Лавров С.С., Силагадзе Г.С. Входной язык и интерпретатор системы программирования на базе языка ЛИСП для машины БЭСМ-6. - М.: ВЦ АН СССР, 1967. Лавров С.С., Силагадзе Г.С. Входной язык и интерпретатор системы программирования на базе языка ЛИСП для машины БЭСМ-6. - М.: ИТМ и ВТ АН СССР, 1969. Лавров С.С., Силагадзе Г.С. Автоматическая обработка данных. Язык Лисп и его реализация. - М.: Наука, 1978, 176 с.


Слайд 3

С.С. Лавров. Научная автобиография «Существенно более успешной была реализация языка Лисп на БЭСМ-6 (совместно с Г.С. Силагадзе). Удалось создать неплохие интерпретатор и компилятор Лиспа. В книге тех же авторов "Язык Лисп и его реализация" (М.: Наука, 1978) описана более совершенная реализация. »


Слайд 4

Новосибирская (ВЦ СО АН СССР) Лисп-система Применялась в пионерских исследованиях по верификации программ, организации недоопределенных вычислений, конструированию семантических моделей и макетированию программ с целью поддержки процесса их разработки. Включает русифицированную версию языка. Эксплуатировалась система без особых переделок практически до демонтажа БЭСМ-6


Слайд 5

История языка Lisp John McCarthy. Recursive Functions of Symbolic Expressions and Their Computation by Machine. Communications of the ACM, April 1960. John McCarthy et al. LISP 1.5 Programmers Manual. MIT Press, 1962. Lisp 1. Programmer’s Manual. Massachusetts, 1960. 156 p. Mitchell, R.W., "LISP 2 Specifications Proposal", Stanford Artificial Intelligence Laboratory Memo No. 21, Stanford, Calif., 1964.


Слайд 6

Первые реализации Сложилась структура открытой системы из: интерпретатора, компилятора, средств ввода-вывода списков, доступа к памяти с автоматической «сборкой мусора», встроенной базой данных с динамически изменяемым форматом записей, хранящих информацию об атомах, обеспечивающих взаимодействие всех элементов системы и программы.


Слайд 7

Освобождение от непринципиальных затруднений Беззаботное размещение в памяти гибких списков произвольного размера с автоматической «сборкой мусора». Работа с целыми неограниченной длины и вещественными с задаваемой точностью. Отображение структур данных в интегральный результат посредством независимо программируемых функций. Компиляции как встроенная функция, вызываемая в любой момент по мере необходимости.


Слайд 8

Расширение круга специалистов ввод/вывод данных любой сложности без особых ритуальных действий. Выделено концептуальное подмножество (Pure Lisp), достаточное для освоения наиболее важных особенностей языка, Разработан небольшой, но содержательно полный, сборник задач с ответами для быстрого самостоятельного перехода к программированию на языке.


Слайд 9

Многолетняя дружба более 340 документов Язык Lisp упоминается в большинстве документов того времени – преимущественно Lisp 2 Джон Маккарти участвовал в ВКП-2 с докладом «Текущее состояние математической теории вычислений» После участия в Международном симпозиуме «Проблемы теории программирования» Джон Маккарти и Джекоб Шварц на две недели включились в работы ВЦ СО РАН СССР по реализации языков Лисп и Сетл.


Слайд 10

Много более давняя и тесная дружба связывает Андрея Петровича Ершова со Святославом Сергеевичем Лавровым. Научный архив С.С. Лаврова передан на хранение в электронный архив А.П. Ершова


Слайд 11

LISP – БЭСМ-6 (ВЦ АН СССР) Мнение авторов: «в основу языка Lisp положены оригинальные идеи, знакомство с которыми обогащает программистскую квалификацию и культуру и приносит пользу, даже если программист в дальнейшем и не работает с этим языком».


Слайд 12

Мнение авторов «описание интерпретатора может служить примером подхода к составлению любых больших программ, т.е. программ, значительно превосходящих по размеру и сложности те программы, которые встречаются в учебных пособиях или излагаются на занятиях по программированию».


Слайд 13

Мнение авторов «язык Lisp устроен так, что он во многих случаях позволяет находить путь к решению задачи постепенно, последовательно сводя ее к более простым задачам».


Слайд 14

FUNARG-проблема Изобретено и реализовано оригинальное эффективное решение FUNARG-проблемы, заключающееся в особой разметке областей действия переменных в ассоциативном списке


Слайд 15

Фольклор На Ростовской молодежной Школе системного программирования (Мелиховка) в 1970 году в стенгазете отмечен «Лавровый Лисп».


Слайд 16

Судьба Лиспа в России весьма волновала С.С. Лаврова подготовил серию статей, адресованных старшеклассникам, для журнала «Компьютерные инструменты в образовании» реализовал новую учебную систему на Паскале


Слайд 17

ЛИСП – БЭСМ-6 (ВЦ СО АН СССР) Начатая в 1967 году первая версия реализации Лисп-интерпретатора в Новосибирске, была прервана из-за несовершенства исходных решений (реализация хэш-таблицы атомов оказалась неприспособленной к удалению объектов).


Слайд 18

Вторая версия реализации полного Lisp 1.5 Для производительного варианта был реализован специальный механизм контроля стека с выгрузкой во внешнюю память. Для производительного варианта был реализован специальный механизм контроля стека с выгрузкой во внешнюю память.


Слайд 19

Руссификация КАР, КДР, КОНС, СОВП, АТОМ, ЛАМБДА, МЕТКА, КАВЫЧ, УСЛ, ФУНК, НИЛ, И, Л, ИНТЕРП, ЧТЕНИЕ, ПЕЧАТЬ, ПЕЧ0, ПЕЧФ, СПИСОК, НИЛС, ДЛИНА, ДОСТ, ЗНАЧ, ПОДПР, СВЫР, СПЕЦВЫР, СПЕЦПОЛПР, ОШИБКА, РЕЖИМ, СБОЙ, КОНЕЦ, …)


Слайд 20

Стандартизация языка Lisp Раскол между сторонниками академических (Lisp-1) и производственных (Lisp-2) диалектов (fn a1 a2 … ) ;; Scheme (FUNCALL fn a1 a2 …) ;; Common Lisp


Слайд 21

Другие MuLisp Interlisp AutoLisp GNU Clisp CMUCL


Слайд 22

Новые реализации Дмитрий Иванов и Арсений Слободюк реализовали (ок. 500 функций) учебное подмножество языка Common Lisp, соответствующее стандарту X3J13 Б.Л. Файфель создал систему HomeLisp, обеспечивающую Windows-интерфейс, средства машинной графики, COM-объекты и BLOB-объекты, WEB-компоненты, т.е. все, к чему привык программист, воспитанный на Visual Studio и Delphi


Слайд 23

«Зная Лисп, легко понимать любые языки программирования» Хендерсон П Функциональное программирование М.: Мир, 1983 - в переводе Л.Т. Петровой В предисловии к этой книге А.П. Ершов утверждает, что «понять и принять функциональное программирование легче, если рассматривать задачу программирования в ее полном контексте, начиная со спецификации задачи и логического анализа ее разрешимости, побочным продуктом которого является сама программа».


Слайд 24

Вопросы? Спасибо за внимание !


×

HTML:





Ссылка: