lambda - символ, которого нет

Это не из книжки, а из вопросов-ответов, хотя, FAQ, возможно есть и в книжке, но эта цитата в любом случае, из документации - Я не могу найти ключевое слово LAMBDA в PicoLisp - потому что его там нет. Причина в том, что он избыточный; он эквивалентен quote
функции в любом аспекте, потому что в PicoLisp нет различия между кодом и данными, и quote
возвращает весь (неоцененный) список аргументов. Если вы настаиваете на этом, вы можете определить свой собственный lambda
:
: (def 'lambda quote)
-> lambda
: ((lambda (X Y) (+ X Y)) 3 4)
-> 7
: (mapcar (lambda (X) (+ 1 X)) (1 2 3 4 5))
-> (2 3 4 5 6)
Ещё о лямбда-выражениях смотрите первый случай в прошлом посте.
Можно привести ещё пару ссылок на тему метапрограммирования в PicoLisp и, частично, макросов:
P.S. “Чтобы два раза не вставать”, комментарий по поводу теорий с лямбда … лямда-выражений, лямбда-функций, лямбда исчисления … и прочих пи- и фи- теорий поцессов и даже мю-, как например, в теории меры … развивая концепцию анонимных функций или черных ящиков, никаких новых смыслов я не вижу … собственно, наряду с теорией меры, которая развивается (развивалась) в рамках функционального анализа, мы видим много попыток внедрения в информатику алгебраических моделей и интерпретаций, в частности, та же теория пучков, не говоря уже о группах, кольцах и полях … Но … моя фундаментальная мысль, что любая реализация компьютерной системы, сама по себе рациональна, то есть просто реализация формализма, уже формальная модель, которую можно описывать или концептуализировать, “как есть”, независимо от существования других вычислительных моделей, которые оказываются эквивалентными, ровно потому, что, в конце концов, реализуют или интерпретируют модели одних и тех же сущностей. Был момент времени, когда я хотел открыть для себя проект по сравнению всех существующих интерпретаций вычислительных моделей, пока не осознал эту банальную, но фундаментальную идею. Это не значит, что кодировщикам не надо знать о прецедентах обобщений конкурирующих практик, обе практики - собственно, практика, и практика обобщений, всегда взаимосвязаны и эрудиция - залог экспертного подхода и эффективности, “открытий”, действително, чего-то нового, но … проблемы возникают и в обратную сторону, когда существующие интерпретации просто мультиплицируются с помощью замещения другими терминами, без новых референций, структур. В результате, теорий много, экспериментов создания компьютерных систем ещё больше, а, наконец, простой теории черных ящиков так и нет, как и нет её реализации. Зато есть попытки запутать существо дела интерпретациями в терминологии моноидов, алгебраических эффектов, и прочих подобных замещений … Я не против новой терминологии, но я против, когда новое не определяется строго через существующее. Когда новый термин выдается за обозначение якобы новой сущности, которая, на самом деле, уже давно существует (до автора!) и кем-то обозначена. Просто продекларировать термин как автореферентный (остенсивное или демонстративное определение), не указав обозначаемый объект, бестолковая манипуляция.
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!