Size: a a a

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

2020 January 24

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Это все любят. Поэтому я этот макрос и написал )
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Sergey Trofimov
в любом случае у тебя обычный выход после cond
а это и есть множественные точки возврата
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrey Ivanov
семантику только вкурить и все
   (cond-let
   [a (:a m)]
   (not a) "not a"

   ; [b (+ 1 a)
   ;  c (* 10 b)]
   [b (+ 1 a)]
   [c (* 10 b)]
   (< c 50) "too small c"
   (= c 50) "exact c"

   [d (str "a = " a ", b = " b ", c = " c)
    e (count d)]
   :else {:text d, :length e})
ну, в такой записи формирование области видимости объявляемых переменных неочевидно
и структура получающегося кода не поддержана соответствующими скобочками 😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrey Ivanov
а это и есть множественные точки возврата
в своём нытье я подразумевал другое
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
лишние скобочки - лишний шум. Трединг-макросы подтвердят. А область видимости очевидна - все определенное выше видно везде ниже - как в любом традиционном языке
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
другое через эксепшены или макросы на них можно
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
у нас в рабочем проекта кстати такая либа для подобной жести
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
а я таким не пользуюсь
чтобы понять причины, почему такого макроса нет в core
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Sergey Trofimov
меня в «традиционных» языках раздражает стиль возврата результата функции из произвольного места в её теле
Больше всего мне этого не хватает в clojure.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Слава, рискну предложить тебе свой макрос )
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Andrey Ivanov
Слава, рискну предложить тебе свой макрос )
Который прерывает выполнение функции? Подозреваю, что меня будут бить по рукам, если буду использовать его в рабочем проекте.:) А для пет-проектов предпочитаю common lisp.:)
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Но спасибо за предложение.:)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrey Ivanov
Слава, рискну предложить тебе свой макрос )
ну, можно взять и cond-let, и better-cond
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Коммон лисп это сильное кунг-фу, я не дорос еще )
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Andrey Ivanov
Коммон лисп это сильное кунг-фу, я не дорос еще )
Твое сильнее.:) Ты же пишешь на хаскеле?:)
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Тоже пет-проекты )
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Кложа уже стала мейнстримным ширпотребом как шарп и джава )
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну, в такой записи формирование области видимости объявляемых переменных неочевидно
и структура получающегося кода не поддержана соответствующими скобочками 😊
«структура получающегося кода не поддержана соответствующими скобочками» — то есть нельзя паредитом обработать кусок кода, соответствующий одному из условий
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
а, я структурными редакторами не пользуюсь, сорри.
источник