Size: a a a

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

2019 May 09

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Gusarov
@strofimov1972 Исполняется тело, собираются все операции, поданные в нём в редис, исполняются и возвращаются одним списком. Без макроса (хотя бы `with-bindings`) такое провернуть тяжеловато.
всё-равно сомнительный способ избавиться от одного аргумента с помощью такой магии

мне бы такое не пришло в голову делать для кода вида
(car/set conn "foo" "bar")
(car/spop conn "foo")
(car/get conn "foo")
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
как бы в jdbc точно также
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
выглядит как экономия на спичках, при этом в код жёстко вшивается привязка к коннекции, усложняя тестирование и т.п.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
@IIvana Можно поправить высказанное выше про макросы: много макросов уровня приложения плохо, так как в приложении надо бизнес-логикой заниматься, а не управлением.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Здесь наверное скорее соглашусь
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
@IIvana Управляющие конструкции лучше концентрировать в библиотеках типа core.async или naso, а то читать код становится невозможно.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
причём car/wcar тоже макрос
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
@strofimov1972 Я про него и говорил. wcar* вообще бессмысленен.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Gusarov
@strofimov1972 Я про него и говорил. wcar* вообще бессмысленен.
ну а автор библиотеки именно так и задумывал
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
🤷‍♂️
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
(defn deconstruct-test [[id {topic :topic q :q}]]
 {:id id
  :topic topic
  :search q})
нельзя сочетать деконструкты?
источник

AI

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

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
(clojure.pprint/pprint
(clojure.walk/macroexpand-all
'(defn deconstruct-test [[id {topic :topic q :q}]]
 {:id id
  :topic topic
  :search q})))

(def
deconstruct-test
(fn*
 ([p__1159]
  (let*
   [vec__1160
    p__1159
    id
    (clojure.core/nth vec__1160 0 nil)
    map__1161
    (clojure.core/nth vec__1160 1 nil)
    map__1161
    (if
     (clojure.core/seq? map__1161)
     (.
      clojure.lang.PersistentHashMap
      create
      (clojure.core/seq map__1161))
     map__1161)
    topic
    (clojure.core/get map__1161 :topic)
    q
    (clojure.core/get map__1161 :q)]
   {:id id, :topic topic, :search q}))))
источник

AI

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

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Ребята, вопрос у меня:
Нельзя ли как-то эффективно понять какого типа данные приходят в качестве аргумента в функцию?
Я тыкаю принты сейчас, чтобы разобраться, когда проект становится сложным и я уже не могу держать его весь в голове
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Вот реально не хватает типа как typescript но чтобы кложур
источник
2019 May 10

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Ребята, вопрос у меня:
Нельзя ли как-то эффективно понять какого типа данные приходят в качестве аргумента в функцию?
Я тыкаю принты сейчас, чтобы разобраться, когда проект становится сложным и я уже не могу держать его весь в голове
Не думай типами, думай данными
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
Не думай типами, думай данными
Ну я думаю данными, но оно всё равно всё превращается у меня в рандомную кашу, когда проект достаточно большой. То нил придет, то 0, то [0], я конечно сам виноват что не могу выдержать нормально структуру
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Ну я думаю данными, но оно всё равно всё превращается у меня в рандомную кашу, когда проект достаточно большой. То нил придет, то 0, то [0], я конечно сам виноват что не могу выдержать нормально структуру
Так хэшмапь
источник

DL

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