1.2 История Lisp

Lisp (язык обработки списков) был впервые разработан в конце 1950-х годов в Массачусетском технологическом институте для исследований в области искусственного интеллекта. Большая мощь языка Lisp делает его идеальным и для других целей, например, для написания команд редактирования.

За эти годы было создано десятки реализаций Lisp, каждая со своими особенностями. Многие из них были вдохновлены Maclisp, который был написан в 1960-х годах в рамках проекта MAC в MIT. В конечном итоге разработчики потомков Maclisp объединились и разработали стандарт для систем Lisp, называемый Common Lisp. Тем временем Джерри Сассман и Гай Стил в MIT разработали упрощенный, но очень мощный диалект Lisp под названием Scheme.

GNU Emacs Lisp в значительной степени вдохновлен Maclisp и немного Common Lisp. Если вы знаете Common Lisp, вы заметите много сходств. Однако многие функции Common Lisp были опущены или упрощены, чтобы снизить требования к памяти GNU Emacs. Иногда упрощения настолько радикальны, что пользователь Common Lisp может быть очень сбит с толку. Мы время от времени указываем, чем GNU Emacs Lisp отличается от Common Lisp. Если вы не знаете Common Lisp, не беспокойтесь; это руководство самодостаточно.

Некоторая эмуляция Common Lisp доступна через библиотеку cl-lib. См. Обзор в Расширениях Common Lisp.

Emacs Lisp совсем не подвержен влиянию Scheme; но у проекта GNU есть реализация Scheme под названием Guile. Мы используем его во всем новом GNU-программном обеспечении, которое требует расширяемости.