Size: a a a

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

2020 April 26

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Есть какой-нибудь смысл в cljs проекте писать closure-совместимый код? Можно даже на babel сделать поддержку кейвордов, символов, мап и векторов.
Т.е. в проекте есть код и на cljs и на js. При этом оба используют closure модули и в js можно подключить cljs.core.
Как минимум это может быть нужно для async/await.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Есть какой-нибудь смысл в cljs проекте писать closure-совместимый код? Можно даже на babel сделать поддержку кейвордов, символов, мап и векторов.
Т.е. в проекте есть код и на cljs и на js. При этом оба используют closure модули и в js можно подключить cljs.core.
Как минимум это может быть нужно для async/await.
Речь про closure compiler?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Да
источник
2020 April 27

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Автор shadow cljs не раз поднимал эту тему
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Сейчас в принципе closure compiler понимает обычные js импорты, но большинство библиотек с ним не свместимо
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
А cljs из js и так можно использовать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Только имхо смысла нет особо. Неидеоматичный, нечитаемый код будет
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Тут речь о том, чтобы и js и cljs собирать google closure компилятором.
И в js подключать clojure модули.
Плюс на babel сделать синтаксис clojure стуруктур.
источник

a

akond in Clojure — русскоговорящее сообщество
а зачем?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Например написать некоторые функции с async/await.
Или взаимодействовать с js библиотекой.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
вопрос то и был "а есть ли какой смысл в этом?"
источник

АБ

Артур Бадр in Clojure — русскоговорящее сообщество
до этого у них покруче был домен)
источник

D

Dos in Clojure — русскоговорящее сообщество
Как тебе такое, Илон Маск?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
вопрос то и был "а есть ли какой смысл в этом?"
да никакого
источник
2020 April 28

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Кто знает, почему функция pprint доступна в repl без подгрузки пакета clojure.pprint?
источник

IG

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

a

akond in Clojure — русскоговорящее сообщество
Ivan Grishaev
Кто знает, почему функция pprint доступна в repl без подгрузки пакета clojure.pprint?
источник

IG

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

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
кто-то знает как данные внутрь фикстур? пробовал следующие варианты – не работают
(def ^:dynamic *config*)
(def ^:dynamic *my-flag*)

(use-fixtures :each
 (fn [test-fn]
   (binding [*config* (mock MyProtocol {:a (if *my-flag* 1 (throws Exception 2))})]
     (test-fn))))

(deftest foo
 (binding [*my-flag* false]
    (do-test)))
===========================================
def ^:dynamic *config*)

(use-fixtures :each
 (fn [test-fn]
   (let [my-flag (:my-flag (get-test-meta test-fn))]
     (binding [*config* (stub MyProtocol {:a (if my-flag 1 (throws Exception 2))})]
       (test-fn)))))

(deftest ^{:my-flag false} foo
   (do-test))


в первом случае не работает т.к. вызов теста происходит после вызова фикстур и байнд происходит байнд перед объявлением
во втором случае – т.к. приходит в фикстуру не сам тест, а завернутая в другие фикстуры функция
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
как-то сумбурно и слова пропущены. Подход верный, должно работать.
источник