Size: a a a

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

2021 July 12

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
И есть экосистема, в которой черт ногу сломит.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Это выбешивает, да. Но нужно смотреть что за зависимости ты используешь, и не проще ли самому это написать. Недавно напоролся на storybook, тот еще монстр.
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
сорян, что я пришел жаловаться, но я не хотел поднимать тему JS в целом, а только про namespace,
в ClojureScript они сделаны как в Clojure (да?) и это очень красиво https://clojure.org/guides/learn/namespaces (https://clojurescript.org/guides/ns-forms)
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
storybook - клевая штука, как идея, очень прикольно!

но он пытается угодить всем, работает и для ангуляра, и реакта и вообще куча плагинов, поэтому он довольно тормозной
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Ну вот я и написал на коленке свой сторибук на 100 строк. Зато никаких проблем со сборкой.
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
ну вчера кто-то написал новый фреймворк для VDOM, велосипедостроительство это норма в JS
источник

VL

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

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
ха-ха, что-то новенькое в мире реакта
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
Шота не интересно
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
больше стафа богу JS, растим экосистему в ширь
источник

E

ETL in Clojure — русскоговорящее сообщество
сколько не читал мануалы по написанию макросов (или чьи-то чужие макросы) - читаешь, всё понимаешь, донельзя логично
сам садишься писать - начинаются траблы, причём на самых тривиальных

допустим:

(defmacro kavkaz []
 (let [s (symbol (str "kavkaz" "sila"))]
   `(fn ~s [fields] (-> fields
                        count))))
(kavkaz)
;failed: vector? at: [:fn-tail :arity-n :params] spec: :clojure.core.specs.alpha/param-list

мне надо, чтобы он возвращал мне анонимную функцию с именем kavkazsila, я не понимаю ЧЯДНТ, символ ` говорит - подави все вычисления внутри этих скобок, ~s вычисли значение символа извне, в данном случае из let
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
ЧЯДНТ => сделай macroexpand на выражение '(kavkaz)
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
и ты сразу увидишь, во что вырождается макрос
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(macroexpand '(kavkaz))
источник

E

ETL in Clojure — русскоговорящее сообщество
собсна вырождается он в:
failed: vector? at: [:fn-tail :arity-n :params] spec: :clojure.core.specs.alpha/param-list
но (fn kavkaz-sila [f] (count f)) в это не вырождается, хотя после fn идёт символ, а не вектор
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(macroexpand-1 '(kavkaz))
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
вот это надо было, извиняюсь
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(clojure.core/fn
kavkazsila
[book.config/fields]
(clojure.core/-> book.config/fields clojure.core/count))
источник

E

ETL in Clojure — русскоговорящее сообщество
понял, спасибо огромное
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(defmacro kavkaz []
 (let [s (symbol (str "kavkaz" "sila"))]
   `(fn ~s [~'fields] (-> ~'fields
                          count))))
источник