Size: a a a

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

2020 September 09

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Хотя иногда с загрузкой классов могут быть проблемы, но я не встречал
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
Vladimir Pavlyuk
скорей всего имеется в виду циклическая зависимость 2х классов
циклическая зависимость объектов
class:name  инстанс класса class c именем name (чтобы ссылаться на него по @name можно было)
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
@ собственно лишняя штука, зря использовал (просто чтобы указать это ссылки)
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
циклическая зависимость объектов
class:name  инстанс класса class c именем name (чтобы ссылаться на него по @name можно было)
насчет обьектов - не уверен, а вообще сослаться можно как нибудь вот так https://stackoverflow.com/questions/3696214/is-it-possible-to-create-circular-references-in-clojure
источник

N

Nikolay in Clojure — русскоговорящее сообщество
подскажи пожалуйста, как в leiningen передать env?
это нормальный вариант? https://github.com/weavejester/environ
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Алксан Аресир
Если учесть сколько в кложе есть плюшек типа #(), ^ ' ` ~ ~@ и подобных... Синтаксиса там значительно больше чем в чистом лиспе
Я это называю "расширенный синтаксис квадратных скобочек"
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Vladimir Pavlyuk
макрос, который ищет символы - идея не очень
в этом случае придется код строкой передавать) вряд ли это возможно
В КЛ есть отдельные ридер макросы.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Nikolay
подскажи пожалуйста, как в leiningen передать env?
это нормальный вариант? https://github.com/weavejester/environ
ну просто USER=... PASSWORD=... lein repl
источник

N

Nikolay in Clojure — русскоговорящее сообщество
подскажите, в чем проблема? как дебажить?
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
Nikolay
подскажите, в чем проблема? как дебажить?
в 2х словах - из новой джавки их выкосили из коробки, нужно руками ключ докинуть https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
[javax.xml.bind/jaxb-api "2.1"]
источник

VG

Vladislav Ganshin in Clojure — русскоговорящее сообщество
Я всегда мыслил трансдьюсер как функу. Все было хорошо до сегодня.
Не понимаю, почему update ожидаемо отрабатывает в пером случае, но неожиданно во втором. Думал, что оба варианта эквиваленты. 🤔
Можете подсказать, почему так происходит?)
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
Vladislav Ganshin
Я всегда мыслил трансдьюсер как функу. Все было хорошо до сегодня.
Не понимаю, почему update ожидаемо отрабатывает в пером случае, но неожиданно во втором. Думал, что оба варианта эквиваленты. 🤔
Можете подсказать, почему так происходит?)
потому что трансдьюсер это не частичное применение
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
(map func) != (partial map func)
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
по большому счету это вообще отдельный кусок логики, просто зашитый в перегруженную функцию map (и некоторые другие)
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
в 2х словах - трансдьюсер это маппер одного редюсера в другой.
представьте, что вам досталась коллекция, по которой нужно проитерироваться несколько раз
(->> coll (map f1) (map f2))
а затем свернуть в скаляр через reduce
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
Если вот этих f[n] будет много, то каждый раз будет создаваться промежуточная коллекция, что сильно испортит перфоманс
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
(->> coll (map f1) (map f2) (reduce dummy-reducer {}))
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
вместо этого можно составить dummy-reducer таким образом, чтобы он, если его применить без map f1 f2, дал тождественный результат
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
только, соответственно, в один проход
источник