Size: a a a

Clojure — русскоговорящее сообщество

2020 February 10

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
У меня тоже был интерес. Сейчас, спустя какое-то время, смотрю на свои макросы и хватаюсь за голову. Дикий треш.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Всё же, опыт нужен.
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
главное правило: можешь использовать функцию - макрос тебе не нужен
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Особенно эти дюже непонятные конструкции трудно читаемые.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
главное правило: можешь использовать функцию - макрос тебе не нужен
Так везде можно использовать функцию. :)
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Особенно в кложе.
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Так везде можно использовать функцию. :)
нет
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
В CL то там понятно, всякие incf другим способом не сделать.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Ну и где нельзя?
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
or тоже сделан макросом, но часто бывает нужен как функция. :)
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Ну и где нельзя?
да везде, где надо добавить новый синтаксис
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
где нельзя эвалить все аргументы
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
да везде, где надо добавить новый синтаксис
Слишком общи ответ. Ты покажи на примере.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
И новый если уж синтаксис, то там нужно поднимать ридер макросы, а не обычне.
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
with-*, doseq/dotime, любые биндилки (но то опять же, новый синтаксис)
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
and/or макросом из-за того, что короткое замыкание
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
где нельзя эвалить все аргументы
Это вполне можно сделать функцией. Просто правильной их организацией. Не нужно всё пытаться запихнуть. И в кложе ленивость много где, с ленивостью можно вообще про макросы забыть.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
and/or макросом из-за того, что короткое замыкание
Это из-за нежелания эвалить аргументы.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
вот у меня пример был с макросом
сначала я узнал, что (assoc m :a 1 :b 2) медленнее, чем (-> m (assoc :a 1) (assoc :b 2) и стал писать так
а потом написал замену для assoc, и переписыванием занимается макрос
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Это из-за нежелания эвалить аргументы.
я выше про это писал
источник