История изменений
Исправление Nervous, (текущая версия) :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь, как я вижу, в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %) Целый класс багов и стога вырванных волос пролетают мимо, какая жаль (нет).
Между тем, там же
it is safe to assume that macro calls in compiled code will not be re-expanded at runtime. Otherwise
Писечка в том, что в кложе нет никакого otherwise. Любой код компилируется в байткод перед выполнением.
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь, как я вижу, в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %) Целый класс багов и стога вырванных волос пролетают мимо, какая жаль (нет).
Между тем, там же
it is safe to assume that macro calls in compiled code will not be re-expanded at runtime. Otherwise
Писечка в том, что в кложе нет никакого otherwise. Любой код компилируется перед выполнением.
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь, как я вижу, в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %) Целый класс багов и стога вырванных волос пролетают мимо, какая жаль (нет).
Между тем, там же
it is safe to assume that macro calls in compiled code will not be re-expanded at runtime. Otherwise
Писечка в том, что в кложе нет никакого otherwise.
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь, как я вижу, в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %)
Между тем, там же
it is safe to assume that macro calls in compiled code will not be re-expanded at runtime. Otherwise
Писечка в том, что в кложе нет никакого otherwise.
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь, как я вижу, в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %)
Между тем, там же
it is safe to assume that macro calls in compiled code will not be re-expanded at runtime
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь, как я вижу, в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %)
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
В OnLisp (10.3 Non-functional Expanders) речь в основном про изменение аргументов in-place. Но как ты их изменишь, если они неизменяемые? %)
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исправление Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было. Интерпретатор нипричёёооом, эвал-вен убер аллеееес! %)
Исходная версия Nervous, :
Жаль, ссылка на пример протухла, трудно понять, что именно там имелось в виду под нежелательным сайд-эффектом.
As long as Clojure remains exclusively a compiler and not an interpreter (unlike some CL implementations) I think it is safe to assume that macros will only run at compile time.
А криков-то было.