Обсуждение:Лисп

Содержимое страницы недоступно на других языках.
Материал из Викиучебника — открытых книг для открытого мира

Благодарю за предложение помощи. Начну неспешное написание в ближайшие недели. За плечами имею «On Lisp» Пола Грэхэма и «Practical Common Lisp» Петера Зейбеля. Всё хорошо понял, но практический опыт практически нулевой (прочитал и забросил), в основном из-за недоступности сразу работающей системы веб-программирования (hunchentoot у меня не встал.) Ramir 12:46, 24 июля 2007 (UTC)[ответить]

Можно перевести туториал с английского варианта вики. Ramir, какой Вы видите структруру книги? Предлагаю сделать нечто вроде "лисп в примерах". Знаток лиспа я тоже не сильный, у нас в техникуме был по нему курс и он мне очень понравился. Потом еще маленький диалектик его присал. Но думаю вместе управимся, у меня тоже идея была по нему учебник написать, но как то все руки не доходили. Chepolino 15:18, 25 июля 2007 (UTC)[ответить]

Какой вижу структуру? Благодаря нашей вики-среде, можем сперва показывать, как хотим устроить учебник, а потом уже обсуждать готовые наброски. Итак, начинаю. Ramir 11:42, 25 июля 2007 (UTC)[ответить]

И с самого начала давайте уясним: работа предстоит колоссальная. Для начала — создать вводную часть (эквивалентно переводу PCL Зейбеля), добросовестно описать подробности языка (… On Lisp Грэхэма), толком разъяснить макросы (оригинальная работа) и составить добротный набор примеров решения конкретных задач (оригинальная работа). Так вот, это «начало» может занять от года до десяти лет. Ramir 13:16, 25 июля 2007 (UTC)[ответить]

Присоединяюсь. Он продолжает активно развиваться, в последних версиях языка были встроены команды для распараллеливания на уровне языка. К тому же, Фортран более распространен, чем Lisp. —77.235.120.93 18:04, 27 декабря 2007 (UTC)[ответить]

На данный момент, хоть кто-нибудь продолжает заниматься этим учебником? --Vovanz123 07:54, 31 октября 2010 (UTC)[ответить]

Да.

--Ramir 10:52, 6 мая 2011 (UTC)[ответить]

Темы которые нужно охватить в учебнике[править]

Введение. Введение в язык, его история. Преимущества.

Тема: Основы программирования на языке Лисп.

Ключевые слова: s-выражение, интерпретатор, атом, список, функция, вычисление, условный оператор, префиксная нотация. Рассматриваемые Функциями: +, -, *, /,= car, cdr, cons, defun, ', eval

Тема: Предикаты и основы рекурсии.

Ключевые слова: условный оператор, предикат, рекурсивная функция. Рассматриваемые Функции: if, defun, cond, mapcar

Тема: Введение в функциональное программирование.

Ключевые слова: Функциональное программирование, рекурсия, терминальная ветвь, передача параметров в функцию, побочный эффект. Рассматриваемые Функции: lambda, eval, mapcar.

Тема: Типы данных в Лиспе.

Тема: Переменные в Лиспе.

Тема: Организация циклов.

Рассматриваемые функции: do, dotimes, loop.

Тема: Структуры данных в Лиспе

Рассматриваемые функции: defstruct

Тема: Единство программы и данных.

Ключевые слова: список, атом, вычисление, свойства. Рассматриваемые Функции: eval, funcall, lambda, ', #'

Тема: Функции высшего порядка.

Ключевые слова: фильтр, отображение, безымянная функция. Рассматриваемые функции: apply, funcall, eval, lambda, mapcar, mapcon.

Тема: Макросы и мета-программирование.

Ключевые слова: макрос, мета-программирование. Рассматриваемые функции: `, #', defmacro

Тема: Вычисление с задержкой.

Ключевые слова: замыкание функции, ленивое вычисление, поток.

Тема: ООП в Лиспе: возможности свойств

О том, как можно программировать в ООП стиле, используя свойства атомов. Ключевые слова: атом, объект. Рассматриваемые функции: get, setf, putprop, remprop, symbol-plist

Тема: ООП посредством CLOS.

Пакет CLOS для объектно-ориентированного программирования в Лиспе. Ключевые слова: класс, экземпляр, родовая функция, наследование.

Chepolino 07:32, 28 июля 2007 (UTC)[ответить]


Ну вот, наконец-то. Из моих развлечений с генетическим программированием начало что-то получаться. Стоит оптимизационная задача по нахождению глобального оптимума, применительно (скорее всего) к проблемам молекулярной динамики. В ближайшее время приступлю к описанию проблемы и последовательному ее решению. 194.88.211.254 15:54, 22 октября 2008 (UTC)[ответить]


Забыл уточнить. Решение проблемы будет, естесственно, на лиспе ;) 194.88.211.254 15:55, 22 октября 2008 (UTC)[ответить]