Обсуждение:Лисп: различия между версиями

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


*Фортран живущий язык. На нем очень много кто работает, написаны кучи вычислительных библиотек, которые используются к примеру в физике. [[Участник:89.79.32.146|89.79.32.146]] 21:08, 20 сентября 2007 (UTC)
*Фортран живущий язык. На нем очень много кто работает, написаны кучи вычислительных библиотек, которые используются к примеру в физике. [[Участник:89.79.32.146|89.79.32.146]] 21:08, 20 сентября 2007 (UTC)
: Присоединяюсь. Он продолжает активно развиваться, в последних версиях языка были встроены команды для распараллеливания на уровне языка. К тому же, Фортран более распространен, чем Lisp. —[[Служебная:Contributions/77.235.120.93|77.235.120.93]] 18:04, 27 декабря 2007 (UTC)


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

Версия от 18:04, 27 декабря 2007

Благодарю за предложение помощи. Начну неспешное написание в ближайшие недели. За плечами имею «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)[ответить]

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

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

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

Ключевые слова: 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)[ответить]