Библиотека knigago >> Компьютеры: Языки и системы программирования >> Lisp, Scheme >> Очень краткое введение в язык Лисп


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2008, книга: Человек или машина?
автор: Анатолий Георгиевич Абинов

"Человек или машина?" Анатолия Абинова — захватывающее и проницательное исследование пересечения человеческого и искусственного интеллекта (ИИ). Книга предлагает уникальный взгляд на то, что значит быть человеком в эпоху технологического прогресса. Автор, известный эксперт в области ИИ, рисует всеобъемлющую картину истории, текущего состояния и будущего ИИ. Он исследует, как эта революционная технология влияет на различные аспекты человеческого общества, включая экономику, занятость,...

Б. Л. Файфель - Очень краткое введение в язык Лисп

Очень краткое введение в язык Лисп
Книга - Очень краткое введение в язык Лисп.  Б. Л. Файфель  - прочитать полностью в библиотеке КнигаГо
Название:
Очень краткое введение в язык Лисп
Б. Л. Файфель

Жанр:

Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Lisp, Scheme

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Очень краткое введение в язык Лисп"

Аннотация к этой книге отсутствует.


Читаем онлайн "Очень краткое введение в язык Лисп". Главная страница.

Очень краткое введение в язык Лисп
Обращение к читателю.
Честно говоря, автор первоначально не планировал излагать в этом руководстве основы
Лиспа. Однако, изучив литературу, изданную по Лиспу на русском языке, автор вынужден
признать, что она весьма немногочисленна, а последняя книга по Лиспу издана почти
20 лет назад. Получается, что читатель, не знакомый с Лиспом, вынужден либо искать
библиографические редкости, либо что-то качать из Интернета.
Хорошая документация должна быть самодостаточна; это обстоятельство и послужило
причиной написания раздела, разъясняющего основы Лиспа.
Наиболее просто синтаксис Лиспа можно было бы описать с помощью Бэкусовых
Нормальных Форм (БНФ), но такое описание слишком лаконично для новичка. Поэтому
пришлось пойти на компромисс: вместо Бэкусовых форм основы Лиспа
описываются словами. При изучении начальных разделов, описывающих
архитектуру языка, читателю рекомендуется смотреть на язык Лисп, как
наформальную знаковую систему. Автор полагает, что это - самый простой способ
осознанного понимания правила записи выражений Лиспа. После развернутого изложения
правил составления выражений Лиспа приводятся сведения
о внутреннем представлении выражений. Начиная с этого момента формальная
знаковая система наполняется неформальным содержанием.
Настоящий раздел руководства был написан последним. Это привело к тому, что многие
сведения в документации встречаются дважды - в этом разделе и при описании
соответствующих функций. Автор надеется, что подобная избыточность не так уж плоха читатель, знакомый с языком, может пропустить это введение, а читателю-новичку, не до
конца принявшему идеологию Лиспа, в процессе чтения описания встроенных функций
классического Лиспа будет даваться идеологические разъяснения.
В заключение, автор просит извинения у искушенного читателя (если он сюда забредет!)
за навязчивое объяснение элементарных вещей...

Оглавление
Лисп-машина.
Алфавит языка Лисп.
Атомы.
Точечные пары - "молекулы" Лиспа.
S-выражения.
Списки.
Внутреннее представление списков.

Взаимодействие с Лисп-машиной. Вычисление значений.
Вычисление значений функций Лиспа.
Проблема вычисляемых аргументов. Классификация
функций Лиспа.
Диалог с Лисп-машиной.
Блокировка вычислений. Функция QUOTE.
Присвоение значений атомам. Функции SET, SETQ и
CSETQ.
Разбор списков на составные части. Функции CAR, CDR и
их комбинации.
Построение списков из составных частей. Функции CONS
и LIST.
Проверка на "атомность". Функция АТОМ.
Сравнение атомов. Функции EQ, NEQ, NOT и NULL.
Функция COND.
Арифметические функции Лиспа.
Универсальная функция EVAL.
Создание собственных функций. Функция DEFUN.
Приемы программирования на Лиспе. Рекурсия.
Рекурсия "изнутри". Трассировка выполнения. Функции
TRACE и UNTRACE.
Другие примеры рекурсивных функций.
Безымянные функции. Конструкция LAMBDA.
Функциональные аргументы. Функционалы.
Применяющие функционалы. Функции FUNCALL и APPLY.
Отображающие функционалы. Функции MAPLIST и
MAPCAR.
Две парадигмы программирования. Функциональное и
процедурное программирование.
Процедурное программирование в Лиспе. Функция PROG.
Функции типа FEXPR. Функция DEFUNF.

Функции типа MACRO. Функция DEFMACRO.
Лисп - язык символьного программирования.
Контекст вычисления в HomeLisp.
Динамические и лексические переменные.
Списки свойств атомов.

Лисп-машина.
Любой язык программирования предназначен для кодирования команд, которые
выполняет компьютер. Результатом выполнения команд является все то, ради чего
человек использует вычислительную технику (обработка текста, графика, звук, расчеты и
т.д.). Процессор компьютера, как правило, умеет исполнять только элементарные
команды. Поэтому команды, написанные человеком, обычно преобразуются
(транслируются) в команды процессора. Возможен и другой подход, при котором
программа на языке программирования не преобразуется в команды процессора, а
поступает на вход программы-исполнителя (интерпретируется).
Именно так работает Лисп.
Будем далее называть программу, исполняющую команды Лиспа, Лисп-машиной. В
ранних версиях Лиспа взаимодействие с пользователем было построено на принципе
"запрос - ответ". В настоящее время Лисп-машина может быть реализована и как
диалоговая, и как пакетная. Последнее означает, что --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.