Size: a a a

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

2020 November 28

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Ну он не может распарсить его объявление. Забей
источник

▓█████▄ ▄▄▄█████▓ ██... in Clojure — русскоговорящее сообщество
лан, спасиб
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
clj-kondo же жалуется?
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Я так подозреваю, что IDE это какой-нибудь курсив, который самостоятельно код анализирует.
Ругается кондо ж
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Надо в конфиг написать этот макрос
источник

OR

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

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Теперь хочется получить доступ до
clojure.lang.RT/table который приватный
Если кому интересно, то вот ключи из clojure.lang.Keyword/table в репле только что запущенном с cider jack in без проекта. Это ключи из  concurrent hash map куда регистрируются все киворды при создании
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Некоторые выглядят как просто символы из разных неймспейсов, но это именно созданные с момента старта репла киворды
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Если кому интересно, то вот ключи из clojure.lang.Keyword/table в репле только что запущенном с cider jack in без проекта. Это ключи из  concurrent hash map куда регистрируются все киворды при создании
Вот этим кодом получено

(let [table-field (.getDeclaredField clojure.lang.Keyword "table")]
 (.setAccessible table-field true)
 (->> (.get table-field nil)
      (into {})
      vals
      (map (fn [^java.lang.ref.WeakReference ref]
             (.get ref)))
      sort))
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Вот этим кодом получено

(let [table-field (.getDeclaredField clojure.lang.Keyword "table")]
 (.setAccessible table-field true)
 (->> (.get table-field nil)
      (into {})
      vals
      (map (fn [^java.lang.ref.WeakReference ref]
             (.get ref)))
      sort))
.get по рефам не обязательно, можно взять keys от хешмапы и это будет тот же результат но как символы
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Вот этим кодом получено

(let [table-field (.getDeclaredField clojure.lang.Keyword "table")]
 (.setAccessible table-field true)
 (->> (.get table-field nil)
      (into {})
      vals
      (map (fn [^java.lang.ref.WeakReference ref]
             (.get ref)))
      sort))
Можете заэвалить какой-нить киворд, а потом этот код, в выводе появится ваш киворд
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Можете заэвалить какой-нить киворд, а потом этот код, в выводе появится ваш киворд
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Интересно теперь в каком месте туда кладутся символы из clojure.core. И зачем кто-то делает киворды на каждый символ из clojure.core
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Можно интересную статистику собирать:
В чистом репле создано 2608 кивордов
В только что стартанувшем моём рабочем проекте с его зависимостями создано 23472 киворда
А после прогонки всех тестов 29236 кивордов
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
И до прогона тестов никто не создает киворда :foo :)
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Киворды интернятся, про это написано в доках, если память мне не изменяет
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
"Интернятся" – это именно вот тот код по ссылке выше.
источник

OR

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

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Интересно теперь в каком месте туда кладутся символы из clojure.core. И зачем кто-то делает киворды на каждый символ из clojure.core
скорей всего они залетают туда из clojure.spec.alpha и clojure.core.specs.alpha
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
хм… забавно но репл не будет стартовать без них в classpath
потому что они загружаются аж в компайлере
источник