Date: 2007-11-15 01:12 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Спасибо, интересно. Не знала, что Scheme был не просто упрощением лиспа, а имплементировал actor model. Надо это сохранить для курса по языкам программирования.

Date: 2007-11-15 01:26 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Да, там ещё были интересные детали -- например, что MIT-ишная тусовка считала, что если сделать правильный язык программирования, то от этого случится искусственный интеллект, и отсюда произошёл такой диалог между разными создателями разных языков в MIT (слайд 30), от ЛИСПА (1958) до Схемы (1975).

А вот, почему-то, когда постфактум оказалось, что функции и акторы -- это одно и тоже, на этом месте (согласно докладчику) идея, что через языки можно придти к ИИ, как-то сама собой прекратилась. Он, впрочем, сказал, что не уверен, почему так случилось..

Ну и, конечно, Схема -- первый ЛИСП с правильно сделанной лямбдой, так что это первый широко известный язык программирования, функциональный в современном смысле этого слова..

Date: 2007-11-15 01:29 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
MIT-ишная тусовка считала, что если сделать правильный язык программирования, то от этого случится искусственный интеллект, и отсюда произошёл такой диалог - когда б вы знали, из какого сора...

А как была сделана лямбда в Лиспе? Впрочем, это, кажется, в слайдах - надо посмотреть.

Date: 2007-11-15 01:39 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
В слайдах, только невнятно.. Только для тех, кто понимает..

Сначала была "funarg problem" -- это гадостный dynamic binding..

Потом сделали static binding (Common LISP), но, в процессе, отделили функции от прочих значений, так что всё равно lambda x. lambda y. (x + y), чтобы его можно было применить, скажем, к 3, а то, что получится, скажем, к 4, не получается..

Date: 2007-11-15 01:41 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Ну да, я поняла, что funarg имеет отношения к имплементации лямбды, но разбираться буду потом - надо бы, наконец, и до дела добраться :-(
Edited Date: 2007-11-15 01:42 am (UTC)

Date: 2007-11-15 01:49 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
dynamic binding -- когда определение свободной переменной ищут не в контексте, где определена вызываемая функция, а в контексте, где она вызывается.. удивительное уродство, впрочем что с МакКарти взять..

Кстати, Guy Steele сказал, что это ещё и было чуть более экономно по памяти, а они тогда считали ячейки.. А я думал, что просто оно выглядело "более AI-шно", такая супер-гибкость, типа..

Date: 2007-11-15 01:52 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Я в курсе, что такое dynamic binding. Это сложнее, поскольку надо хранить адрес той stack frame, где пременная определена, что может быть ооочень интересно, если можно определять функции внутри функций.

Date: 2007-11-15 02:00 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
А он сказал, что, наоборот, так память экономилась :-)

Впрочем, dynamic binding прекрасен, как и самомодифицирующийся код ;-) Как написал кто-то, кажется, про vi, текстовый редактор должен быть мощный, опасный и непрощающий ;-) И всякий прочий код тоже ;-) Вот времена были -- ни Дейкстры, ни структурного программирования..

Date: 2007-11-15 02:03 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
наоборот - see my comment below :-)
Да, с помощью dynamic binding можно такого наворотить - goto ему в подметки не годится! Впрочем, macros в C вполне годятся для этой цели - они же тоже динамицццкие!

Date: 2007-11-15 01:55 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
"Это" - в смысле static binding. Sorry, мозга за мозгу заехала.
Edited Date: 2007-11-15 01:56 am (UTC)

Date: 2007-11-15 02:03 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Эк ты комменты редактировать наловчился.. А главное, кажется, что ничего от редактирования не меняется.. Ещё раз присылает коммент, а разницы особой и не видно..

Date: 2007-11-15 02:05 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
А я юзерпичку изменила :-)
Я редактирую только очепятки и прочие мелочи, большой-то ляп я как раз редактировать не стала.

Date: 2007-11-15 02:10 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
класс :-)

информации про картинку в комментах, присылаемых по почте, как раз, нет, так что всё выглядит очень загадочно :-)

Date: 2007-11-15 02:12 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Скажи спасибо, что сказала, а то бы ты еще сколько времени искал отличия :-)
Пошел я. Можем по телефону по дороге потрепаться, если меня ветром не сдует.

Profile

anhinga_drafts: (Default)
anhinga_drafts

June 2022

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 9th, 2026 03:21 am
Powered by Dreamwidth Studios