Мир Лиспа. Том 2: Методы и системы программирования

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Двухтомник финских специалистов, содержащий введение в язык Лисп, методы и системы программирования. Этот язык широко известен и применяется в задачах символьной обработки информации, обработки естественных языков, искусственного интеллекта, экспертных систем, систем логического программирования. Изложение языка и примеры основаны на последней версии, которая станет стандартом языка. В книге приведены конкретные задачи с ответами и решениями. Во 2-м томе изложены методы и системы программирования. Для программистов разной квалификации, для всех, использующих язык Лисп.

Author(s): Эро Хювёнен, Йоуко Сеппянен
Publisher: Мир
Year: 1990

Language: Russian
Pages: 319
City: Москва
Tags: lisp

Обложка
Титульная страница [стр. 3]
Выходные сведения [стр. 4]
Введение [стр. 5]
Скачок в развитии вычислительной техники [стр. 5]
Лисп — основа искусственного интеллекта [стр. 6]
Учебник Лиспа на финском языке [стр. 6]
Язык Лисп и функциональное программирование [стр. 6]
Методы программирования [стр. 7]
Среда программирования [стр. 9]
Примеры программ [стр. 9]
Развитие Лисп-культуры и Лисп-систем [стр. 10]
На кого рассчитана книга [стр. 10]
Терминология [стр. 10]
Иконология [стр. 11]
Благодарности [стр. 13]
1 Введение в методы и системы программирования [стр. 14]
Основные типы знаний [стр. 15]
Методы представления знаний [стр. 16]
Процедурные и декларативные знания [стр. 18]
Способы решения проблем [стр. 20]
Лисп предлагает различные модели [стр. 21]
Методы и стиль программирования [стр. 21]
Парадигмы программирования [стр. 22]
Литература [стр. 24]
2 Методы программирования [стр. 25]
2.1 Операторное программирование [стр. 26]
Функциональное программирование [стр. 26]
Операторное и процедурное программирование [стр. 27]
Рекурсия или итерация [стр. 28]
Рекурсивное операторное программирование [стр. 31]
Фразовое программирование [стр. 35]
Макропрограммирование [стр. 37]
Литература [стр. 38]
2.2 Программирование, управляемое данными [стр. 40]
Принцип программирования, управляемого данными [стр. 40]
Универсальное программирование [стр. 41]
Дифференцирование выражений [стр. 42]
Язык представления электрических схем [стр. 47]
Другие методы программирования, управляемого данными [стр. 51]
Программирование, управляемое событиями [стр. 52]
Литература [стр. 53]
2.3 Сопоставление с образцом [стр. 54]
Сопоставление с образцом и распознавание образов [стр. 54]
Распознавание списочных образов [стр. 55]
Условия сопоставимости [стр. 55]
Использование переменных в образце [стр. 58]
Сопоставление с переменной образца [стр. 61]
Предикатный образец ограничивает сопоставимость [стр. 62]
Компьютерный психиатр ELIZA [стр. 63]
Распознавание структур [стр. 66]
Литература [стр. 67]
2.4 Продукционное программирование [стр. 69]
Продукция = условие + следствие [стр. 69]
Интерпретатор продукций применяет продукции [стр. 70]
Полный перебор [стр. 71]
Аннулирование выбора [стр. 72]
Направление поиска [стр. 72]
Порядок перебора альтернатив [стр. 73]
Программирование методов поиска [стр. 74]
Поиск в глубину, в ширину и по наилучшему варианту [стр. 77]
Применения продукционного программирования [стр. 79]
Литература [стр. 80]
2.5 Логическое программирование [стр. 82]
Декларативная программа не содержит алгоритма [стр. 83]
Процедурная семантика [стр. 83]
Отношение является обобщением функции [стр. 84]
Унификация структур [стр. 85]
Алгоритм унификации [стр. 87]
Логика хорновских предложений [стр. 89]
Логическая интерпретация хорновских предложений [стр. 90]
Логическое определение отношений [стр. 91]
Множество предложений трактуется как программа [стр. 93]
Метод резолюций [стр. 94]
Алгоритм доказательства [стр. 96]
Реализация интерпретатора [стр. 97]
Пролог использует поиск в глубину [стр. 100]
Развитие логического программирования [стр. 101]
Литература [стр. 103]
2.6 Объектное программирование [стр. 105]
Объектное мышление и объектное программирование [стр. 106]
Объект, класс объектов и метакласс [стр. 107]
Объект содержит данные и действия [стр. 107]
Свойства и состояние объекта [стр. 108]
Действия или методы объекта [стр. 108]
Сообщения управляют вычислением [стр. 109]
Подкласс и надкласс [стр. 111]
Естественный класс и качественный класс [стр. 111]
Иерархия классов и механизм наследования [стр. 112]
Порядок наследования в иерархии классов [стр. 113]
Композиция методов в вычислениях [стр. 115]
Базовые классы и метаклассы системы [стр. 117]
Пример системы — Flavors [стр. 117]
DEFFLAVOR определяет класс [стр. 117]
MAKE-INSTANCE создает новый объект [стр. 118]
DEFMETHOD определяет метод [стр. 119]
SEND посылает сообщение [стр. 120]
Объекты моделируют мир проблемы [стр. 122]
Применимость объектного программирования [стр. 122]
Развитие объектного мышления и программирования [стр. 123]
Литература [стр. 126]
2.7 Достоинства и качество программирования [стр. 128]
Факторы качества и подходы к программированию [стр. 129]
Разделяй и именуй объекты естественным образом [стр. 132]
Используй хорошо определенные соединения [стр. 133]
Переносимость и стандартизация [стр. 134]
Другие советы [стр. 134]
Литература [стр. 136]
3. Средства и среда программирования [стр. 137]
3.1 Первичная среда Коммон Лиспа [стр. 138]
Аппаратная среда реализаций языка [стр. 138]
Составные части среды программирования на Лиспе [стр. 139]
Интегрированность и прозрачность [стр. 141]
Редактирование программ: ED [стр. 142]
Тестирование программ: TRACE и STEP [стр. 143]
Прерывание вычислений: BREAK и ERROR [стр. 144]
Трансляция программ: COMPILE [стр. 146]
Система документирования и справочная система [стр. 146]
Комментарии [стр. 149]
Средства определения количественных характеристик вычислений [стр. 150]
3.2 Среда Интерлиспа [стр. 151]
Списочный редактор — List Editor [стр. 152]
Ассистент программиста — Programmer’s Assistant [стр. 154]
Структурная печать — Prettyprint [стр. 155]
Прерывания — Break Package [стр. 156]
Прерывание вычислений и трассировка [стр. 157]
Работа с файлами — File Package [стр. 157]
Транслятор — Compiler [стр. 158]
Анализатор программы — Masterscope [стр. 158]
Справочная система — Help System [стр. 159]
Исправление ошибок — Do What I Mean [стр. 159]
Лисп с фразовой структурой — Conversational Lisp [стр. 161]
Оконная система — Window System [стр. 161]
Целостность системы — System Integration [стр. 162]
Библиотека программ — Lispusers Package [стр. 162]
Литература [стр. 163]
3.3 Среда Зеталиспа [стр. 164]
Объектная система Flavor [стр. 165]
Макрос итерации Loop [стр. 165]
Интерфейс пользователя [стр. 166]
Оконная система [стр. 166]
Интегрированные средства разработки [стр. 167]
Экранный редактор Zmacs [стр. 168]
Инспектор структур Inspector [стр. 169]
Отладчик программ Debugger [стр. 169]
Управление файлами [стр. 170]
Инспектор состояния Реек [стр. 170]
Zmail и работа в сети [стр. 170]
Языки и инструменты [стр. 170]
Литература [стр. 171]
4 Примеры программ [стр. 172]
4.1 Лисп на Лиспе [стр. 174]
Интерпретатор Лиспа на Лиспе [стр. 174]
Примитивы интерпретатора [стр. 175]
Универсальная функция EVAL1 [стр. 176]
Основная часть интерпретатора: APPLY1 [стр. 178]
Примеры вычислений [стр. 181]
Печать результатов — структурная печать [стр. 183]
Программирование диалога [стр. 184]
Программирование ввода и вывода [стр. 185]
Литература [стр. 188]
4.2 Миксима [стр. 189]
Миксима — символьный вычислитель [стр. 189]
Действия и их порядок [стр. 190]
Чтение выражения с преобразованием в списочную форму [стр. 191]
Преобразование выражения в форму дерева [стр. 192]
Представление выражения в форме дерева [стр. 194]
Порядок обхода дерева [стр. 196]
Интерпретация и вычисление выражений [стр. 197]
Упрощение выражений [стр. 199]
Снятие скобок и вывод [стр. 200]
Диалог с Миксимой [стр. 201]
Литература [стр. 202]
4.3 Язык сплетника [стр. 203]
Исчезающие народные традиции [стр. 204]
Язык сплетника и цыганский жаргон [стр. 204]
Анализ правил и их программирование [стр. 205]
Выбор места разбиения слова на части [стр. 206]
Перевод слова и ключа [стр. 209]
Долгота и созвучие гласных [стр. 209]
Перевод слов и предложений [стр. 212]
Расширение до цыганского жаргона [стр. 214]
Литература [стр. 215]
4.4 Дарвин [стр. 217]
Структура экспертной системы [стр. 218]
Представление знаний [стр. 218]
Машина вывода [стр. 219]
Факты и правила [стр. 219]
Правила вывода базы знаний [стр. 221]
Стратегия обратного вывода [стр. 225]
Работа системы Дарвин [стр. 226]
Примеры запросов [стр. 230]
Расширение системы Дарвин [стр. 231]
Литература [стр. 232]
4.5 Солнечная система [стр. 233]
Сначала были созданы небо и Земля [стр. 234]
Окно в космос [стр. 234]
Солнце, планеты и спутники [стр. 235]
И все-таки она вертится [стр. 236]
Вращением спутника управляет демон [стр. 237]
Создание небесных тел [стр. 238]
Запуск Солнечной системы [стр. 240]
Литература [стр. 240]
5 Развитие языка Лисп и Лисп-систем [стр. 242]
5.1 История Лиспа [стр. 243]
Отец Лиспа — Джон Маккарти [стр. 243]
Обработка списков и искусственный интеллект [стр. 244]
Значение Лиспа [стр. 245]
Ранние реализации Лиспа [стр. 247]
Литература [стр. 248]
5.2 Лисп распространяется по свету [стр. 250]
Развитие Лиспа в других странах [стр. 250]
Лисп в Западной Европе [стр. 250]
Лисп в Восточной Европе [стр. 254]
Лисп в далеких странах [стр. 256]
Лисп в Скандинавии [стр. 258]
Лисп в Финляндии [стр. 260]
Литература [стр. 265]
5.3 Лисп-системы [стр. 272]
Маклисп — основной диалект восточного побережья [стр. 272]
BBN-Lisp, Xerox и Интерлисп [стр. 274]
Standard Lisp и PSL [стр. 277]
Franz Lisp [стр. 279]
NIL — New Implementation of Lisp (новая реализация языка) [стр. 280]
Диалект T Йельского университета [стр. 280]
Зеталисп Лисп-машин [стр. 282]
Вавилонская башня мира Лиспа [стр. 282]
Стандарт Коммон Лиспа [стр. 284]
Производители Лисп-машин приходят к договоренности [стр. 287]
Литература [стр. 288]
5.4 Лисп-машины [стр. 291]
Бегство из систем разделения времени [стр. 291]
Первые изготовители [стр. 292]
Успехи Лисп-машин [стр. 293]
Лисп или Пролог? [стр. 294]
Литература [стр. 294]
Приложение 1. Указатель функций и символов [стр. 297]
Приложение 2. Указатель имен и сокращений [стр. 301]
Приложение 3. Предметный указатель [стр. 309]
Оглавление [стр. 313]
Содержание первого тома [стр. 319]
Выпускные данные [стр. 320]
Обложка