История изменений
Исправление no-such-file, (текущая версия) :
Я тут чуть-чуть подумал, и понял что мой наивный вариант действительно наивный и не работает, но не потому что «должно быть» а именно из-за «внутри aif могут быть макросы, которые раскрываются». Действительно нужно про каждую форму знать, раскрывается она или нет и несёт ли it
внутри какой-то специальный смысл.
Но интересно, а в ракетке, например в (loop ... (collect it))
или чём-то подобном оно нормально работает?
Символ определён всегда.
Абстрактный символ нужно и указывать абстрактно, а не как анафору
(aif (+ 2 2) `(,(intern "IT") is ,it))
> (IT IS 4)
symbol «it» is the one we want to capture
Вот именно, мы его capture и используем специальным образом. Нельзя рассчитывать внутри такого макроса, что it будет вести себя как обычный символ.
Исправление no-such-file, :
Я тут чуть-чуть подумал, и понял что мой наивный вариант действительно наивный и не работает, но не потому что «должно быть» а именно из-за «внутри aif могут быть макросы, которые раскрываются». Действительно нужно про каждую форму знать, раскрывается она или нет и несёт ли it
внутри какой-то специальный смысл.
Но интересно, а в ракетке, например в (loop ... (collect it))
или чём-то подобном оно нормально работает?
Символ определён всегда.
Абстрактный символ нужно и указывать абстрактно, а не как анафору
(aif (+ 2 2) `(,(intern "IT") is ,it))
> (IT IS 4)
Исправление no-such-file, :
Я тут чуть-чуть подумал, и понял что мой наивный вариант действительно наивный и не работает, но не потому что «должно быть» а именно из-за «внутри aif могут быть макросы, которые раскрываются». Действительно нужно про каждую форму знать, раскрывается они или нет и несёт ли it
внутри какой-то специальный смысл.
Но интересно, а в ракетке, например в (loop ... (collect it))
или чём-то подобном оно нормально работает?
Символ определён всегда.
Абстрактный символ нужно и указывать абстрактно, а не как анафору
(aif (+ 2 2) `(,(intern "IT") is ,it))
> (IT IS 4)
Исходная версия no-such-file, :
Я тут чуть-чуть подумал, и понял что мой наивный вариант действительно наивный и не работает, но не потому что «должно быть» а именно из-за «внутри aif могут быть макросы, которые раскрываются». Действительно нужно про каждую форму знать, раскрывается они или нет и несёт ли it
внутри какой-то специальный смысл.
Но интересно, а в ракетке, например в (loop ... (collect it))
или чём-то подобном оно нормально работает?