Лисп
Лисп — второй после Фортрана язык программирования высокого уровня. Первый язык функционального программирования.
Код Лиспа представлен…(через нагромождение (круглых) скобок)
…односвязным списком, деревом — базовой структурой языка. Элементарные части программы: числа, слова, указатели, имена типов, операторы, — это возможные значения символа, обозначающего их в дереве кода. Символьное представление можно определить для любой формы — корректно вычислимого выражения с любыми параметрами, выводимыми значениями и воздействиями на среду. Сплошная типизация «статических языков» в Лиспе заменяется декларацией типов.
Познание вычисления как такового — стезя академического курса и лет практики, а посвящение в Лисп также требует отразить привычные ограничения прочих — «непрограммируемых» — языков программирования. Задача гигантская, однако, Лиспу досталось внимание величайших компьютерных гениев, и нам остается взобраться на плечи гигантов, уместно освещая избранную литературу о Лиспе. Ясно также, что кратчайшие пути обучения расплетаются по локальным оптимумам для разных вычислительных задач. Перед вами — не просто учебник в свободном доступе, а домашняя страница открытой школы, где каждый может быть и учеником, и автором.
Содержание
- Историософия: происхождение и философские основы Лиспа, его силы и слабости
- Рабочая среда:
- Диалект Clojure
- Среда Scheme:
- «Строение и толкование компьютерных программ» — Гарольд Абельсон и Джеральд Сассман, MIT Press, 1984
- Книга вынесена в свободный оборот, сделан перевод на русский. В сети также авторские видеолекции.
- Литература
- Хювенен Э., Сеппянен И. Мир Лиспа. В 2-х т. - М.: Мир, 1990
- Русский перевод книги «Practical Common Lisp» — Peter Seibel, 2005
- Основы программирования на языке Лисп. Учебное пособие. Е.И. Большакова, Н.В. Груздева, 2010
- На английском:
- The Anatomy of Lisp — John Allen, 1978
- On Lisp — Paul Graham, 1993
- Common Lisp HyperSpec
- Practical Common LISP. Peter Seibel, 2005
- Синтаксис
- Типы данных
- Функции и функциональный стиль
- Математика
- Оптимизация
- Макросы