History of Scheme programming language
Nov. 14th, 2007 07:59 pmGuy Steele gave a talk today on the history of Scheme, "Designing by Accident":
https://lists.ccs.neu.edu/pipermail/pl-seminar/2007/000417.html
He used these slides:
http://research.sun.com/projects/plrg/JAOO-SchemeHistory-2006public.pdf
https://lists.ccs.neu.edu/pipermail/pl-seminar/2007/000417.html
He used these slides:
http://research.sun.com/projects/plrg/JAOO-SchemeHistory-2006public.pdf
no subject
Date: 2007-11-15 01:12 am (UTC)no subject
Date: 2007-11-15 01:26 am (UTC)А вот, почему-то, когда постфактум оказалось, что функции и акторы -- это одно и тоже, на этом месте (согласно докладчику) идея, что через языки можно придти к ИИ, как-то сама собой прекратилась. Он, впрочем, сказал, что не уверен, почему так случилось..
Ну и, конечно, Схема -- первый ЛИСП с правильно сделанной лямбдой, так что это первый широко известный язык программирования, функциональный в современном смысле этого слова..
no subject
Date: 2007-11-15 01:29 am (UTC)А как была сделана лямбда в Лиспе? Впрочем, это, кажется, в слайдах - надо посмотреть.
no subject
Date: 2007-11-15 01:39 am (UTC)Сначала была "funarg problem" -- это гадостный dynamic binding..
Потом сделали static binding (Common LISP), но, в процессе, отделили функции от прочих значений, так что всё равно lambda x. lambda y. (x + y), чтобы его можно было применить, скажем, к 3, а то, что получится, скажем, к 4, не получается..
no subject
Date: 2007-11-15 01:41 am (UTC)no subject
Date: 2007-11-15 01:49 am (UTC)Кстати, Guy Steele сказал, что это ещё и было чуть более экономно по памяти, а они тогда считали ячейки.. А я думал, что просто оно выглядело "более AI-шно", такая супер-гибкость, типа..
no subject
Date: 2007-11-15 01:52 am (UTC)no subject
Date: 2007-11-15 02:00 am (UTC)Впрочем, dynamic binding прекрасен, как и самомодифицирующийся код ;-) Как написал кто-то, кажется, про vi, текстовый редактор должен быть мощный, опасный и непрощающий ;-) И всякий прочий код тоже ;-) Вот времена были -- ни Дейкстры, ни структурного программирования..
no subject
Date: 2007-11-15 02:03 am (UTC)Да, с помощью dynamic binding можно такого наворотить - goto ему в подметки не годится! Впрочем, macros в C вполне годятся для этой цели - они же тоже динамицццкие!
no subject
Date: 2007-11-15 01:55 am (UTC)no subject
Date: 2007-11-15 02:03 am (UTC)no subject
Date: 2007-11-15 02:05 am (UTC)Я редактирую только очепятки и прочие мелочи, большой-то ляп я как раз редактировать не стала.
no subject
Date: 2007-11-15 02:10 am (UTC)информации про картинку в комментах, присылаемых по почте, как раз, нет, так что всё выглядит очень загадочно :-)
no subject
Date: 2007-11-15 02:12 am (UTC)Пошел я. Можем по телефону по дороге потрепаться, если меня ветром не сдует.